码迷,mamicode.com
首页 > 其他好文 > 详细

JPA 解析

时间:2017-07-21 19:57:29      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:style   分享   tps   sim   单元   blank   develop   模型   相关   

看图想想相关的架构

1.查询表达式中的接口层次结构

技术分享

 

2.CriteriaQuery 封装了传统查询的子句

技术分享

 

 

3.

技术分享

 

 

 

4. Metamodel API 中的持久化属性的接口的层次结构

技术分享

 

5.元模型接口是持久化单元中的类型的容器

技术分享

 

JPA 的 Metamodel API 接口比 Java Reflection API 更加专业化。需要更细微的差别来表达关于持久化的丰富元信息。

例如,Java Reflection API 将所有 Java 类型表示为 java.lang.Class。即没有通过独立的定义对概念进行区分,

比如类、抽象类和接口。当然,您可以询问 Class它是一个接口还是一个抽象类,但这与通过两个独立的定义表示接口和抽象类的差别不同。

Metamodel API 将强类型引入到持久化实体中。例如,持久化实体在语义上区分为 MappedSuperClassEntity和 Embeddable

在 JPA 2.0 之前,这种语义区分是通过持久化类定义中的对应类级别注释来表示的。JPA Metamodel 在 javax.persistence.metamodel

包中描述了 3 个独立的接口(MappedSuperclassTypeEntityType和 EmbeddableType),以更加鲜明的对比它们的语义特征。

类似地,可以通过接口(比如 SingularAttributeCollectionAttribute和 MapAttribute)在类型定义级别上区分持久化属性。

 

JPA 解析

标签:style   分享   tps   sim   单元   blank   develop   模型   相关   

原文地址:http://www.cnblogs.com/yuyutianxia/p/7219232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!