欢迎来到天天文库
浏览记录
ID:20370636
大小:83.50 KB
页数:6页
时间:2018-10-11
《hibernate注解用法总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.类级别注解@Entity映射实体类@Table映射数句库表@Entity(name=ntableNameu)-必须,注解将一个类声明力一个实体bean。属性:name-可选,对应数据库中的一个表。若表名与实体类名相同,则可以省略。@Table(name=,M,,catalog=HM,schema="H)-可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息。属性:name-可选,表示表的名称,默认地,表名和实体名称一致,只有在不一致的惜况下才需要指定表名ca
2、talog-可选,表示Catalog名称,默认为CatalogC").schema-可选,表示Schema名称,默认为Schema("").2.属性级别注解@Id映射生成主键@Version定义乐观锁@Column映射表的列@Tran$ient定义暂态属性2.1与主键相关注解@id-必须,定义了映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键,置于getXxxx()前。@GeneratedValue(strategy=GenerationType,generator=,'")-可选,用于定义主
3、键生成策略。属性.•Strategy-表示主键生成策略,取值有:GenerationType.ALTO-根据底层数据库自动选择(默认),若数据库支持自动增长类型,则为自动增长。GenerationType.//V£)£/Vr/7Y-根据数据库的Identity字段生成,支持DB2、MySQL、MS、SQLServer、SyBase与HyperanoicSQL数掘庵的Identity类型主键。GenerationType.5*£(2^®VC£-使用Sequence来决定主键的取值,适合Oracle、DB2等支
4、持Sequence的数据库,一般结使川。(Oracle没有自动增长类型,只能用Sequence)GenerationType.TABLE-使用指定表来决定主键取值,结合@TableGenerator使用。如:@Id@TableGenerator(name=Htab_cat_genu,allocationSize=l)@GeneratedValue(Strategy=GenerationType.7a^Zc)Generator-表示主键生成器的名称,这个属性通常和ORM框架相关,例如:Hibernate可以指
5、定uuid等主键生成方式@SequenceGenerator一注解声明了一个数掘库序列。属性:name-表示该表主键生成策略名称,它被引用在@GeneratedValue中设置的“gernerator”值中。sequenceName-表示生成策略用到的数据库序列名称。initialValue-表示主键初始值,默认为0.a11ocationSizc-每次主键值增加的人小,例如设罝成1,则表示每次创建新记录后自动加1,默认为50.示例:@Id@GeneratedValues(strategv=Strategyr
6、ype.S£0i/£A^C£)publicintgetPk(){returnpk;Hibernate的访问类型为field时,在字段上进行注解声;访问类型为property吋,在getter方法上进行注释声明。2.2与非主键相关注解@Version-可以在实体bean中使用@Version注解,通过这种方式可添加对乐观锁定的支持@Basic-用于声明属性的存取策略:@Basic(fetch=FetchType.EAGER)即时获取(默认的存取策略)@Basic(fetch=FetchType.LAZY)延迟
7、获取@Temporal-用于定义映射到数据库的时间精度:@Temporal(TemporalType=DATE)日期@Temporal(TemporalType=TIME)时间@Temporal(TemporalType=TIMESTAMP)两者兼具(^Column-AI'将属性映射到列,使用该注解來覆盖默认值,@Column描述了数据库表中该字段的详细定义,这对于根据JPA注解生成数据库表结构的工具非常有作用。属性:name-可选,表示数据库表巾该字段的名称,默认情形属性名称一致nullable-可选,表
8、示该字段是否允许为null,默认为trueunique-可选,表示该字段是否是唯一标识,默认为falselength-可选,表示该字段的大小,仅对String类型的字段有效,默认值255.insertable-可选,表示在ORM框架执行插入操作吋,该字段是否应出现INSETRT语句中,默认为trueupdateable-可选,表示在ORM框架执行更新操作时,该字段是否应该出现在UPDATE语句中,默认为true.
此文档下载收益归作者所有