- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAP 学习笔记
Java EE 5 平台引入了 Java 持久化 API(Java Persistence API, JPA),它为
Java EE 和 Java SE 应用程序提供了一个基于 POJO 的持久化模块。JPA 处理关系
数据与 Java 对象之间的映射,它使对象/关系(O/R)映射标准化,JPA 已经被广
泛采用并且成为 O/R 持久化企业标准。
Java EE 6 平台带来了 JPA 最新版本;Java 持久化 2.0,JPA2.0 带来了许多新
特性和增强。主要包括:
引用
1. 对象/关系映射增强
2. Java 持久化查询语言增强
3. 一种新的基于标准的查询 API
4. 支持悲观锁定
对象/关系映射增强
JPA 1.0 支持集合的映射,但是这些集合只能包含实体,JPA2.0 增加了集
合映射的基础数据类型,以及嵌入式对象的集合。JPA 中的嵌入式对象是一个不
能存在于它自身的对象,而是作为父对象的一部分存在,即它的数据不是存在于
它自己的表中,而是嵌入在父对象的表中。
JPA2.0 增加了两个支持新的集合映射的注解:@ElementCollection和
@CollectionTable.使用@ElementCollection 注解指定集合的嵌入式对象,这些
集合是独立存储在集合表中,使用@CollectionTable 注解指定集合表的相信信
息。
例如:
下面是一个嵌入式类,表示了车辆的访问服务,它存储了访问的日期,描述和费
用,此外,车辆可以配备一或多个可选功能,每个功能是 FeatureType 类型的一
个枚举值.
Java 代码
1. public enum FeatureType{AC,CRUISE,PWR,BLUETOOTH,TV,...}
2.
3. @Embeddable
4. public class ServiceVisit{
5. @Temporal (DATE)
6. @Column (name=SVC_DATE)
7. Date serviceDate;
8. String workDesc;
9. int cost;
10. }
第 1 页
JAP 学习笔记
枚举值和嵌入对象可以在一个表示车辆服务历史的实体中使用,如
Java 代码
1. @Entity
2. public class Vehicle{
3. @Id int vin;
4. @ElementCollection
5. @CollectionTable (name=VEH_OPTNS)
6. @Column (name=FEAT)
7. SetFeatureTypeoptionalFeatures;
8. @ElementCollection
9. @CollectionTable (name=VEH_SVC)
10. @OrderBy (serviceDate)
11. ListServiceVisit serviceHistory;
12. ...
13. }
Vehicle 实体中的第一对注解@ElementCollection 和@CollectionTable 指定
FeatureType 值存储在 VEH_OPTNS 集合表中,第二对注解@ElementCollection 和
@CollectionTable 指定 ServiceVisit 嵌入式对象存储在 VEH_SVC 集合表中。
虽然在例子中没有显示,@ElementCollection 注解有两个属性:targetClass 和
fetch。targetClass 属性指定基础类或嵌入式类的类名,如果字段或属性是使
用泛型定义的,那这两个属性是可选的,上面这个例子就是这样。Fetch 属性是
可选的,它指定集合是延后检索还是立即检索,使用
javax.persistence.FetchType 常量,值分别用 LA
原创力文档


文档评论(0)