Hibernate注解详解(超全面不解释)

Hibernate注解详解(超全面不解释)

ID:37710157

大小:35.43 KB

页数:25页

时间:2019-05-29

Hibernate注解详解(超全面不解释)_第1页
Hibernate注解详解(超全面不解释)_第2页
Hibernate注解详解(超全面不解释)_第3页
Hibernate注解详解(超全面不解释)_第4页
Hibernate注解详解(超全面不解释)_第5页
资源描述:

《Hibernate注解详解(超全面不解释)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一。实体Bean每个持久化POJO类都是一个实体Bean,通过在类的定义中使用@Entity注解来进行声明。声明实体Bean@EntitypublicclassFlightimplementsSerializable{Longid;@IdpublicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}}@Entity注解将一个类声明为实体Bean,@Id注解声明了该实体Bean的标识属性。Hibernate可以对类的属性或者方法进行注解。属性对应field类别,方

2、法的getXxx()对应property类别。定义表通过@Table为实体Bean指定对应数据库表,目录和schema的名字。@Entity@Table(name="tbl_sky")publicclassSkyimplementsSerializable{...@Table注解包含一个schema和一个catelog属性,使用@UniqueConstraints可以定义表的唯一约束。@Table(name="tbl_sky",uniqueConstraints={@UniqueConstraint(columnNames={

3、"month","day"})})上述代码在"month"和"day"两个field上加上uniqueconstrainst.@Version注解用于支持乐观锁版本控制。@EntitypublicclassFlightimplementsSerializable{...@Version@Column(name="OPTLOCK")publicIntegergetVersion(){...}}version属性映射到"OPTLOCK"列,entitymanager使用这个字段来检测冲突。一般可以用数字或者timestamp类型来

4、支持version.实体Bean中所有非static非transient属性都可以被持久化,除非用@Transient注解。默认情况下,所有属性都用@Basic注解。publictransientintcounter;//transientpropertyprivateStringfirstname;//persistentproperty@TransientStringgetLengthInMeter(){...}//transientpropertyStringgetName(){...}//persistentprope

5、rty@BasicintgetLength(){...}//persistentproperty@Basic(fetch=FetchType.LAZY)StringgetDetailedComment(){...}//persistentproperty@Temporal(TemporalType.TIME)java.util.DategetDepartureTime(){...}//persistentproperty@Enumerated(EnumType.STRING)StarredgetNote(){...}//enu

6、mpersistedasStringindatabase上述代码中counter,lengthInMeter属性将忽略不被持久化,而firstname,name,length被定义为可持久化和可获取的。@TemporalType.(DATE,TIME,TIMESTAMP)分别Mapjava.sql.(Date,Time,Timestamp).@Lob注解属性将被持久化为Blog或Clob类型。具体的java.sql.Clob,Character[],char[]和java.lang.String将被持久化为Clob类型.jav

7、a.sql.Blob,Byte[],byte[]和serializabletype将被持久化为Blob类型。@LobpublicStringgetFullText(){returnfullText;//clobtype}@Lobpublicbyte[]getFullCode(){returnfullCode;//blogtype}@Column注解将属性映射到列。@EntitypublicclassFlightimplementsSerializable{...@Column(updatable=false,name="fli

8、ght_name",nullable=false,length=50)publicStringgetName(){...}定义name属性映射到flight_namecolumn,notnull,can'tupdate,lengthequal50@Column(name="c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。