JAP20学习笔记

JAP20学习笔记

ID:42389161

大小:42.40 KB

页数:12页

时间:2019-09-14

JAP20学习笔记_第1页
JAP20学习笔记_第2页
JAP20学习笔记_第3页
JAP20学习笔记_第4页
JAP20学习笔记_第5页
资源描述:

《JAP20学习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JavaEE5平台引入了Java持久化API(JavaPersistenceAPI,JPA),它为JavaEE和JavaSE应用程序提供了一个基于POJO的持久化模块。JPA处理关系数据与Java对象之间的映射,它使对象/关系(O/R)映射标准化,JPA已经被广泛采用并且成为O/R持久化企业标准。 JavaEE6平台带来了JPA最新版本;Java持久化2.0,JPA2.0带来了许多新特性和增强。主要包括:引用  1.对象/关系映射增强  2.Java持久化查询语言增强  3.一种新的基于标准的查询API  

2、4.支持悲观锁定对象/关系映射增强  JPA1.0支持集合的映射,但是这些集合只能包含实体,JPA2.0增加了集合映射的基础数据类型,以及嵌入式对象的集合。JPA中的嵌入式对象是一个不能存在于它自身的对象,而是作为父对象的一部分存在,即它的数据不是存在于它自己的表中,而是嵌入在父对象的表中。 JPA2.0增加了两个支持新的集合映射的注解:@ElementCollection和@CollectionTable.使用@ElementCollection注解指定集合的嵌入式对象,这些集合是独立存储在集合表中,使用

3、@CollectionTable注解指定集合表的相信信息。例如:下面是一个嵌入式类,表示了车辆的访问服务,它存储了访问的日期,描述和费用,此外,车辆可以配备一或多个可选功能,每个功能是FeatureType类型的一个枚举值.Java代码 1.public enum FeatureType{AC,CRUISE,PWR,BLUETOOTH,TV,...}  2.  3.@Embeddable  4.public class ServiceVisit{  5. @Temporal(DATE)  6. @Colum

4、n(name="SVC_DATE")  7. Date serviceDate;  8. String workDesc;  9. int cost;  10. }  publicenumFeatureType{AC,CRUISE,PWR,BLUETOOTH,TV,...}@EmbeddablepublicclassServiceVisit{@Temporal(DATE)@Column(name="SVC_DATE")DateserviceDate;StringworkDesc;intcost;}  枚举值

5、和嵌入对象可以在一个表示车辆服务历史的实体中使用,如Java代码 1.@Entity  2.public class Vehicle{  3.  @Id int vin;  4.  @ElementCollection  5.  @CollectionTable(name="VEH_OPTNS")  6.  @Column(name="FEAT")  7.  SetoptionalFeatures;  8.  @ElementCollection  9.  @CollectionT

6、able(name="VEH_SVC")  10.  @OrderBy("serviceDate")  11.  List serviceHistory;  12.  ...  13. }  @EntitypublicclassVehicle{@Idintvin;@ElementCollection@CollectionTable(name="VEH_OPTNS")@Column(name="FEAT")SetoptionalFeatures;@Elem

7、entCollection@CollectionTable(name="VEH_SVC")@OrderBy("serviceDate")ListserviceHistory;...}Vehicle实体中的第一对注解@ElementCollection和@CollectionTable指定FeatureType值存储在VEH_OPTNS集合表中,第二对注解@ElementCollection和@CollectionTable指定ServiceVisit嵌入式对象存储在VEH_SVC

8、集合表中。虽然在例子中没有显示,@ElementCollection注解有两个属性:targetClass和fetch。targetClass属性指定基础类或嵌入式类的类名,如果字段或属性是使用泛型定义的,那这两个属性是可选的,上面这个例子就是这样。Fetch属性是可选的,它指定集合是延后检索还是立即检索,使用javax.persistence.FetchType常量,值分别用LAZY和EAGER,默认情况下,集

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

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

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