Hibernate 实体类注解详解

来源:互联网 发布:怎么在淘宝上办学生证 编辑:程序博客网 时间:2024/05/29 07:30

众所周知,关于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是序列名称    
原创粉丝点击