原來還有個(gè)JDO 2.0實(shí)現(xiàn)叫做JPOX。而且發(fā)現(xiàn)JDO 2.0的接口等定義是由Apache發(fā)布的,它是有Sun捐獻(xiàn)的。
JPOX是2003年3月才開始開發(fā)的,目前實(shí)現(xiàn)支持JDO 1.0和JDO 2.0(JSR-243)規(guī)范。
JPOX號(hào)稱支持JDOQL和SQL,而且以后也要實(shí)現(xiàn)EJB3持久化規(guī)范中的JPA(Java Persistence API)。
看來BEA有了Kodo,JBoss有了Hibernate,Oracle和Sun有了融合了TopLink的Glassfish中的EJB3持久化容器后,應(yīng)該還有其它的廠商可以提供這樣的東西出來。而且似乎JDO 2.0變成真正透明持久化后,從JDO商業(yè)實(shí)現(xiàn)轉(zhuǎn)而支持JPA不會(huì)很難。本源上說JPA本來就是JDO 2.0風(fēng)格被Gavin King的Hivernate攪合后出來的規(guī)范。
然后發(fā)現(xiàn)國(guó)內(nèi)紅工廠的Liberator EJB3也是一個(gè)JPA和JDO2兼容的EJB3容器,看來EJB3持久化引擎的實(shí)現(xiàn)還是不少的。
看了一篇介紹EJB3 API的講座,是TSS和BeJUG提供的:
http://media.techtarget.com/tss/BeJUG/EJB3/index.html
感覺很不錯(cuò),現(xiàn)在聽英文的PPT也比較流暢了。感想就是和Hibernate非常接近,其中EntityManager的概念和session非常相似。annotation的使用是代碼級(jí)元數(shù)據(jù)的最佳實(shí)踐。而且發(fā)現(xiàn)EJB3吸收了RoR中ActiveRecord的CoC(慣例代替配置)的理念,大部分的影射參數(shù)都有默認(rèn)配置,而且可以通過annotation靈活的覆蓋。所以說,認(rèn)真學(xué)習(xí)Hibernate是有用的,Shift to EJB3 Persistence的時(shí)候就會(huì)比較容易。后面看到persistence.xml是為了在容器外使用EntityManager設(shè)計(jì)的,對(duì)于支持EJB3 Persistence的Java EE容器完全可以直接用EJB3 Persistence模型+元數(shù)據(jù)編程而不用額外的配置,這的確是非常方便的,提供了透明的持久化模型。而persistence.xml則保證J2SE下面也可以使用代碼管理的EntityManager,帶來可測(cè)試和可脫離Java EE Server的編程模型,更方便且可插拔。
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
|
||
相關(guān)文章:
|
||