写点什么

JPA 2.0 的两个类型安全标准 API 提议

  • 2009-01-30
  • 本文字数:950 字

    阅读完需:约 3 分钟

两年前作为 Java EE 5 的一部分引入的 Java Persistence API 为对象关系映射提供了一个 POJO 持久化模型。它作为 JSR-220 的一部分由 EJB 3.0 软件专家组进行开发。

Persistence 包含三个方面的内容:

  1. API,定义在 javax.persistence 包内。
  2. Java Persistence Query Language(JPQL)。
  3. 对象 / 关系元数据。

尽管 JPQL 使得持久 Java 对象得到了显著地改善,但 JPQL 仍然被描述为字符串。这样在查询操作强类型的 Java 对象的同时,它们自己却是弱类型的。用这种方式构建查询很容易出错,而且需要支持校验、自动补全和重构的特定 IDE。

在 JSR-317 规范下开发的 JPA 2.0 被包含在 Java EE 6 中,其目的是通过引入能够提供基于非字符串构建查询的新标准 API 来解决这一问题。专家组领导 Linda DeMichiel 已经发表了一篇博文描述了目前的 API 草案:

“简单说,QueryDefinition 对象可以被想成一组相当于查询语义结构的节点: - 领域(Domain)对象,相当于范围(range)变量和其它 JPQL FROM 子句的标识符变量

  • Where 子句谓词,包含一个或多个条件表达式对象
  • Select 子句,包含一个或多个‘select 条目’对象
  • Order-by 和 group-by 条目
  • 子查询(Subqueries)

等等……”

尽管该提议事实上是在现有 JPA 机制上前进了一大步,仍有许多人——这其中包括 Gavin King,认为类型安全本可以也应该得到进一步改进。King 的 Hibernate O/R 工具是使用类型安全标准 API 的先驱,并对 EJB3 产生了重大影响,他已经向专家组提交了自己的建议。他的建议利用了 Java 6 中引入的 javax.annotation.Processor,以允许编译器插件为每个应用程序中的持久类构建元模型(metamodel)类型。King 已经在两篇博文(第一篇第二篇)中描述了他的方法的更多细节,以及他和他的团队目前正在开发的与 javac 一起使用的原型注解处理器。

专家组正在认真地考虑 King 的提议,并考虑用它替换当前的审查草稿。DeMichiel 告诉我们说:

“讨论主要集中在确保该 API 给开发者带来更好的开发体验上,静态查询(类型安全方面应当比较好)和动态查询都应如此”。我们也在考虑该元模型(metamodel)生成方面的问题。”

她补充说专家组非常渴望从开发社区听到任何反馈。请在 sun.com 上的 jsr-317-pdr-feedback 留下您的任何反馈评论。

查看英文原文: Two Type-Safe Criteria API Proposals for JPA 2.0

2009-01-30 08:42907
用户头像

发布了 150 篇内容, 共 45.4 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

PDF文件免费转为PPT!用这2个软件轻松搞定!

彭宏豪95

PPT 在线白板 格式转换 AIGC AI生成PPT

元宇宙与网络层

dappweb

ao 元宇宙

元宇宙的安全与隐私保护

dappweb

ao 元宇宙

区块链和物联网很有前景

dappweb

区块链 ao

元宇宙的智能合约有哪些实际应用案例

dappweb

ao 元宇宙

23家开发服务商获优秀表彰,将持续推动鸿蒙原生应用开发

最新动态

加速鸿蒙生态共建,蚂蚁mPaaS助力鸿蒙原生应用开发创新

最新动态

区块链如何确保供应链交易的透明度

dappweb

ao 元宇宙

在供应链管理中区块链有哪些优势

dappweb

ao 元宇宙

区块链技术正以其独特的优势,逐步重塑游戏世界的面貌。

dappweb

区块链 ao

区块链技术的可扩展性

dappweb

区块链 ao

OpenAI 收购桌面实时协作公司 Multi;iOS 18 开放 iPhone 镜像测试丨RTE 开发者日报 Vol.231

声网

元宇宙与数据层

dappweb

ao 元宇宙

区块链与元宇宙

dappweb

区块链 ao

丰图科技:利用华为云FunctionGraph搭建质检推理系统实现降本增效

最新动态

区块链通过其独特的技术特性,实现了社区成员间的透明交流。

dappweb

区块链 ao

MatrixOne最强体验官 等你来战

MatrixOrigin

云原生数据库 国产数据库 开发者活动

近千名学子齐聚 HDC 2024 HarmonyOS学生公开课:探索前沿技术,激发创新思维

最新动态

开源图片编辑器推荐-可用于海报编辑、商品设计、封面设计、标签设计等场景

秦少卫

#开源项目 海报编辑器 图片编辑工具 在线设计工具 快图设计

有哪些创意的元宇宙智能合约文案

dappweb

ao 元宇宙

区块链技术的灵活性

dappweb

区块链 ao

【AI落地应用实战】如何高效检索与阅读论文——302.AI学术论文工具评测

中杯可乐多加冰

LLM 文本生成图像

华为鸿蒙内核成为HarmonyOS NEXT流畅安全新基座

最新动态

元宇宙与接入层

dappweb

ao 元宇宙

在区块链中,共识机制是确保网络一致性的核心要素。

dappweb

区块链 ao

区块链的社区治理与决策透明

dappweb

区块链 ao

敏思达:用数字化打造跨境电商一体化供应链,提高竞争壁垒

最新动态

超20个鸿蒙原生应用样板间,让各行业开发者高效拎包入住

最新动态

鸿蒙生态伙伴SDK市场正式发布,驱动千行百业鸿蒙原生应用开发

最新动态

JPA 2.0的两个类型安全标准API提议_Java_Charles Humble_InfoQ精选文章