博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate注解bean的标准用法
阅读量:6514 次
发布时间:2019-06-24

本文共 2312 字,大约阅读时间需要 7 分钟。

hot3.png

日常springMVC项目中使用hibernateBean还是很便捷,不推荐查询,但保存单个对象还是很方便的; so,项目内集成hibernates还是可推荐的; 但也别太重, 比如我们集成.xml映射方式,而是简单的注解,然后通过this.getHibernateTemplate().getSessionFactory().getCurrentSession() , session工厂来更新or保存对象

好了,不多少举个栗子;

import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.Table;import javax.persistence.Transient;import org.springframework.format.annotation.DateTimeFormat;@Entity@Table(name="demo_table")public class DemoTable  implements java.io.Serializable{	@Transient	private static final long serialVersionUID = -2593493866782904614L;		private long id;	private String name;	private int age;	@DateTimeFormat(pattern="yyyy-MM-dd") 	private Date createDate;	private String email;	private String phone;	private String url;	private String xb;		public 	DemoTable(){			}		@Id	@GeneratedValue	@Column(name = "id", unique = true, nullable = false)	public long getId() {		return id;	}	public void setId(long id) {		this.id = id;	}		@Column(name="name")	public String getName() {		return name;	}	public void setName(String name) {		this.name = name;	}	@Column(name="age")	public int getAge() {		return age;	}	public void setAge(int age) {		this.age = age;	}	@Column(name="create_date")	public Date getCreateDate() {		return createDate;	}	public void setCreateDate(Date createDate) {		this.createDate = createDate;	}	// 忽略某个字段	@Transient	public String getEmail() {		return email;	}	public void setEmail(String email) {		this.email = email;	}	@Column(name="phone")	public String getPhone() {		return phone;	}	public void setPhone(String phone) {		this.phone = phone;	}	@Column(name="url")	public String getUrl() {		return url;	}	public void setUrl(String url) {		this.url = url;	}	@Column(name="xb")	public String getXb() {		return xb;	}	public void setXb(String xb) {		this.xb = xb;	}	}

 

其中:

@Table(name="demo_table") //映射类名和表名对应 

@Column(name="id") //映射属性名和字段名 

@Column(length=50) //限制字符串长度 (这里没有写,如果严格限制可以写上)

@Temporal(TemporalType.DATE) //限制时间格式:只记录日期不记录时间。默认是时间日期都记录 

 //隐藏属性,不会被映射到表中 ,忽略单个属性

@Enumerated(EnumType.STRING) //把枚举里的sring存储进去

@Enumerated(EnumType.ORDINAL) //把存在的顺序编号int存储进去

@GeneratedValue // 自增主键标识,可以定义该标识符的生成策略 (我们默认就好)

 

好了,今天就介绍到这里了,要想深入的话,可以@题主,或者回复本贴;

 

 

 

 

转载于:https://my.oschina.net/java1314/blog/818770

你可能感兴趣的文章
《Netkiller Blockchain 手札》Hyperledger Fabric Java SDK Demo
查看>>
querySelector 和 querySelectorAll区别
查看>>
Linux系统_Centos7下安装Nginx
查看>>
《PHP和MySQL Web 开发》 第12章 MySQL高级管理
查看>>
数据库设计 Step by Step (6) —— 提取业务规则
查看>>
Redis客户端redisson实战
查看>>
连接到 JasperReports Server
查看>>
java处理高并发高负载类网站问题
查看>>
使用C#生成随机密码(纯数字或字母)和随机卡号(数字与字母组合)
查看>>
CAS服务器端集群
查看>>
设计模式 之 访问者模式
查看>>
JAVA Collections框架
查看>>
进制转换
查看>>
ASCII码
查看>>
java常用四种排序源代码
查看>>
win7 下硬盘安装Redhat7
查看>>
Redis 分布式锁的正确实现方式
查看>>
mysqldump 备份命令使用中的一些经验总结
查看>>
Linux下MySql安装配置方法总结
查看>>
ArrayList底层实现
查看>>