写点什么

OpenJPA 1.0:完全符合 JPA 1.0 规范的企业级 O/R 映射

  • 2007-09-13
  • 本文字数:853 字

    阅读完需:约 3 分钟

Apache OpenJPA Java Persistence API (JPA)的一个开源实现,最近发布了1.0.0 版本。InfoQ 与OpenJPA 项目领导Patrick Linskey 交流后得到了更多关于该版本的信息。

Linskey 讲述了 OpenJPA 中一些重要的特性与扩展:

  • 符合 JPA 1.0 规范——完全实现了 JPA 1.0 规范,其目标主要是关系型数据库管理系统(RDMBS)
  • 企业级——包含了众多如内存管理,规模构建,集群构建等企业级特性
  • 扩展 Quality of Service(QoS)——对集群操作进行缓存,对访问模式进行控制和优化,并以轻量的内存需求来处理大规模的事务
  • 扩展高级数据库特性——支持 Savepoint 和悲观锁
  • 改进 JPA 契约——定义严谨并实用的回滚行为,扩充 @GeneratedValue 到所有的数值字段类型,加强延迟加载 / 脏检查跟踪的能力
  • 支持 JAXB所管理的域——这些域可直接映射到数据库中的 XML 列类型,并通过某些 OpenJPA 查询语句直接查询 XML

Linskey 同时也提到 BEA Kodo 是基于 OpenJPA 开发的,虽然他们并没追随相似的发布周期——Kodo 倾向于与 BEA WebLogic 应用服务器的发布同步。

BEA WebLogic 通过 Kodo 项目使用 OpenJPA 作为它的 JPA 实现,除此之外, Apache Geronimo 最近发布的2.0 版本也同样通过 Apache OpenEJB 项目使用了 OpenJPA。还有其它好几个项目也用到了OpenJPA,但Linskey 把 Compass 项目的领导 Shay Banon 看作是集成 Compass 与 OpenJPA 的关键所在。Linskey 还谈及了关于 OpenJPA 的未来计划:

我们最关心的是 JPA 小组正在起步中的 JPA2 规范。虽然 JPA 1.0 规范包含了大多数用户构建应用时所需的特性,但仍有一些 OR 映射的重要领域未覆盖到。我们会重点关注下一个 JPA 版本中这些方面的覆盖情况。我们从生产立场出发, 围绕频繁写入环境中缓存的优化、以及在多核环境运行的高并行应用的进一步改进,提出了多个观点。我们也在支持用可替换的编程模型访问 OpenJPA 方面做了一连串工作,如支持 SCA 的 Service Data Objects 规范,或其它的动态应用接口。

更多关于 OpenJPA 的详情,请浏览 InfoQ 的近作,内有更详细的 Patrick Linskey 就 OpenJPA 和 JPA 规范的讨论。

2007-09-13 11:051097
用户头像

发布了 27 篇内容, 共 10.4 次阅读, 收获喜欢 15 次。

关注

评论

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

强化学习从基础到进阶-案例与实践[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战

汀丶人工智能

人工智能 深度学习 强化学习 Qlearning 6 月 优质更文活动

无处不在 | 亚马逊云科技的 Java 生态

亚马逊云科技 (Amazon Web Services)

Java 开源 jdk

驾驶新时代:车载语音识别的革命性进展与应用

数据堂

在高度为h的堆中,元素个数最多和最少分别是多少?

福大大架构师每日一题

ChatGPT

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

股市老人

TTS语音合成技术及其应用

数据堂

情感语音识别技术的挑战和未来发展

数据堂

时间戳与时区

ScratchLab

语音合成数据的重要性:打造自然流畅的语音合成体验

数据堂

TTS语音合成技术的挑战和未来发展

数据堂

跨AZ部署最佳实践之Kafka

焦振清

skywalking沉了一年的线程池插件bug被我解决了

夏奇

Java Agent Skywalking ClassLoader 字节码增强 开源贡献

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

鳄鱼视界

cdc任务同步错误但不会触发告警问题记录

TiDB 社区干货传送门

故障排查/诊断

强化学习从基础到进阶-常见问题和面试必知必答[3]:表格型方法:Sarsa、Qlearning;蒙特卡洛策略、时序差分等以及Qlearning项目实战

汀丶人工智能

人工智能 深度学习 强化学习 Qlearning 6 月 优质更文活动

老大给了个新需求:如何将汉字转换成拼音字母?1行Python代码搞定!

程序员晚枫

Python 拼音 汉字

情感语音识别技术及其应用

数据堂

2023-06-22:一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试 给你一个二维数组 classes ,其中 classes[i] = [passi, totali] 表

福大大架构师每日一题

算法 福大大架构师每日一题

基于CC2530设计智慧农业控制系统

DS小龙哥

6 月 优质更文活动

【领域驱动设计专题】一文带领你透视DDD领域驱动模型的本质和设计原理分析指南(基本概念篇)

码界西柚

领域驱动设计 DDD 领域驱动模型DDD 中台架构 领域驱动模型

符号接在 busybox 中的妙用

ScratchLab

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

西柚子

头一次见单例模式讲的如此透彻

越长大越悲伤

设计模式 单例模式

TiDB 7.1资源管控和Oceanbase 4.0多租户使用对比

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

TiDB v7.1.0离线升级命令版

TiDB 社区干货传送门

实践案例 版本升级 7.x 实践

RWA 成下一轮加密大叙事,PoseiSwap 的价值正在凸显

BlockChain先知

2023-06-23:redis中什么是缓存击穿?该如何解决?

福大大架构师每日一题

福大大架构师每日一题

问答对话文本数据,构建智能问答对话系统的基础

数据堂

OpenJPA 1.0:完全符合JPA 1.0规范的企业级O/R映射_Java_Ryan Slobojan_InfoQ精选文章