欢迎来到天天文库
浏览记录
ID:30768542
大小:48.50 KB
页数:3页
时间:2019-01-03
《hibernate注解总结(一)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Hibernate注解总结(一)1•类级别注解@Entity映射实体类@Table映射数旬库表@Entity(name="tableNameH)・必须,注解将一个类声明为一个实体bean。属name-可选,对应数据库中的一个表。若表名与实体类名相同,则可以省略。@Table(name=""/catalog="",schema="")-可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息。属性:name-可选,表示表的名称,默认地,表名和实体名称一致,只冇在不一致的情况下才需要指定表名catal
2、og-可选,表示Catalog名称,默认为CatalogC").schema・可选,表示Schema名称,默认为Schema("").2.属性级别注解@ld映射生成主键@Version定义乐观锁@Column映射表的列@Transient定义暂态属性2.1与主键相关注解@ld-必须,定义了映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键,置于getXxxx()前。@GeneratedValue(strategy=GenerationType,generator="")-可选,用于定义主键牛-成策略。属性:Strategy-表
3、示主键生成策略,取值有:GenerationType.AUTO•根据底层数据库口动选择(默认),若数据库支持口动增长类型,则为口动增长。GenerationType.lNDENTITY・根据数据库的Identity字段生成,支持DB2、MySQL、MS、SQLServer.SyBase与HyperanoicSQL数据库的Identity类型主键。GenerationType.SEQUENCE-使用Sequence来决定主键的取值,适合Oracle、DB2等支持Sequence的数据库,一般结合@SequenceGenerator使川。(O
4、racle没有自动增长类型,只能用Sequence)GenerationType.TABLE・使用指定表来决定主键取值,结合@TableGenerator使用。如:@ld@TableGenerator(name="tab_cat_gen",allocationSize=l)@GeneratedValue(Strategy=GenerationType.Table)Generator-表示主键生成器的名称,这个属性通常和ORM框架相关,例如:Hibernate可以指定uuid等主键生成方式@SequenceGenerator—注解声明了一个
5、数据库序列。属性:name-表示该表主键生成策略名称,它被引用在@GeneratedValue屮设置的“generator”值屮。sequenceName・表示生成策略用到的数据库序列名称。initialvalue-表示主键初始值,默认为0.allocationsize-每次主键值增加的大小,例如设置成1,则表示每次创建新记录后自动加1,默认为50.示例:@ld@GeneratedValues(strategy=StrategyType.SEQUENCE)publicintgetPk(){returnpk;}Hibernate的访问类型为
6、field时,在字段上进行注解声:访问类型为property时,在getter方法上进行注释声明。2.2与非主键相关注解@Version・可以在实体bean屮使用@Version注解,通过这种方式可添加对乐观锁定的支持@Basic■用于声明属性的存取策略:@Basic(fetch=FetchType.EAGER)即时获取(默认的存取策略)@Basic(fetch=FetchType.LAZY)延迟获取(©Temporal・用于定义映射到数据库的吋间精度:@Temporal(TemporalType=DATE)LI期@Temporal(Te
7、mporalType=TIME)时间@Temporal(TemporalType=TIMESTAMP)两者兼具@Column-可将属性映射到列,使用该注解来覆盖默认值,@Column描述了数据库表屮该字段的详细定义,这对于根据JPA注解生成数据库表结构的工具非常有作用。属性:name-可选,表示数据库表中该字段的名称,默认情形属性名称一致nullable-可选,表示该字段是否允许为null,默认为trueunique・可选,表示该字段是否是唯一标识,默认为falselength-可选,表示该字段的大小,仅对String类型的字段有效,默认
8、值255.insertable-可选,表示在ORM框架执行插入操作时,该字段是否应出现INSETRT语句中,默认为trueupdateable・可选,表示在ORM框架执行更新操作时,该字段是否
此文档下载收益归作者所有