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

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规范的讨论。

你可能感兴趣的:(OpenJPA 1.0:完全符合JPA 1.0规范的企业级O/R映射)