欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

060523-JDO2和EJB3 JPA见闻 JPAHibernate编程GlassfishOracle 

程序员文章站 2022-07-16 20:40:56
...

原来还有个JDO 2.0实现叫做JPOX。而且发现JDO 2.0的接口等定义是由Apache发布的,它是有Sun捐献的。
JPOX是2003年3月才开始开发的,目前实现支持JDO 1.0和JDO 2.0(JSR-243)规范。
JPOX号称支持JDOQL和SQL,而且以后也要实现EJB3持久化规范中的JPA(Java Persistence API)。
看来BEA有了Kodo,JBoss有了Hibernate,Oracle和Sun有了融合了TopLink的Glassfish中的EJB3持久化容器后,应该还有其它的厂商可以提供这样的东西出来。而且似乎JDO 2.0变成真正透明持久化后,从JDO商业实现转而支持JPA不会很难。本源上说JPA本来就是JDO 2.0风格被Gavin King的Hivernate搅合后出来的规范。
然后发现国内红工厂的Liberator EJB3也是一个JPA和JDO2兼容的EJB3容器,看来EJB3持久化引擎的实现还是不少的。
看了一篇介绍EJB3 API的讲座,是TSS和BeJUG提供的:
http://media.techtarget.com/tss/BeJUG/EJB3/index.html
感觉很不错,现在听英文的PPT也比较流畅了。感想就是和Hibernate非常接近,其中EntityManager的概念和session非常相似。annotation的使用是代码级元数据的最佳实践。而且发现EJB3吸收了RoR中ActiveRecord的CoC(惯例代替配置)的理念,大部分的影射参数都有默认配置,而且可以通过annotation灵活的覆盖。所以说,认真学习Hibernate是有用的,Shift to EJB3 Persistence的时候就会比较容易。后面看到persistence.xml是为了在容器外使用EntityManager设计的,对于支持EJB3 Persistence的Java EE容器完全可以直接用EJB3 Persistence模型+元数据编程而不用额外的配置,这的确是非常方便的,提供了透明的持久化模型。而persistence.xml则保证J2SE下面也可以使用代码管理的EntityManager,带来可测试和可脱离Java EE Server的编程模型,更方便且可插拔。