众所周知,关于Hibernate的使用有两种方法,一:使用配置文件,二:使用注解,二者各有优缺点,这里就不一 一 赘述了,本文介绍一下实体类注解的使用:
1.@Entity说明这个class是实体类,并且使用默认的orm规则,即class名即数据库表中表名,class字段名即表中的字段名
2.@Table来改变class名与数据库中表名的映射规则,@Column来改变class中字段名与db中表的字段名的映射规则
3.@Column注释定义了将成员属性映射到关系表中的哪一列和该列的结构信息,属性如下:
name:映射的列名。如:映射tbl_user表的name列,可以在name属性的上面或getName方法上面加入;
unique:是否唯一;
nullable:是否允许为空;
length:对于字符型列,length属性指定列的最大字符长度;
insertable:是否允许插入;
updatetable:是否允许更新;
columnDefinition:定义建表时创建此列的DDL;
secondaryTable:从表名。如果此列不建在主表上(默认是主表),该属性定义该列所在从表的名字。
4.@SequenceGenerator注解指定数据库的序列,属性如下:
name:给序列起个名字,以便于@GeneratedValue注解使用,
sequenceName:数据库里面的序列名称
allocationSize:序列递增的步进
5.@GenerateValue注解可以定义该标识符的生成策略,属性如下:
a.strategy有四种状态:
TABLE:使用一个特定的数据库表格来保存主键。
SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。
IDENTITY:主键由数据库自动生成(主要是自动增长型)
AUTO:主键由程序控制。
b.generator是序列名称