免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
OSGi、Spring、Hibernate集成:動態(tài)注冊實體類

  網(wǎng)上提供的關(guān)于在OSGi環(huán)境下的集成Spring、Hibernat的方案總是存在以下一種或多種問題:

  1、不能提供多個SessionFactory的統(tǒng)一管理

  2、不能提供實體類的動態(tài)注冊

  3、不方便測試

  4、平臺依賴度高

  先看看我提供的解決方案中各Bundle之間的關(guān)系圖:

  

  從上圖可看出,業(yè)務(wù)實體與業(yè)務(wù)邏輯Bundle是獨立自然的,不需要象某些解決方案把實體類作為Hibernate的Fragment。實際上,本解決方案中完全可以不將實體類在META-INF.MF文件中Export.

  解決思路:

  1、org.span.orm中定義SessionFactoryService接口并提供其抽象實現(xiàn),由org.span.orm.hibernate來實現(xiàn)這個接口。

  2、在會話工廠服務(wù)定義Bundle中通過org.span.orm和org.span.hibernate提供的類,定義SessionFactoryService服務(wù)的配置,并注冊為SessionFactoryService服務(wù)。

  3、在業(yè)務(wù)實體與業(yè)務(wù)邏輯Bundle中,注冊實體類時,首先從SessionFactoryService服務(wù)中得到相關(guān)SessionFactory的配置,通過此配置來構(gòu)造一個包括了它注冊的實體類的SessionFactory,再將其中的實體類關(guān)系合并到SessionFactoryService實現(xiàn)中的SessionFactory中。這其中因org.hibernate.impl.SessionFactoryImpl中所有的實體映射關(guān)系是保存到一些不可修改的final Map對象中,因此只能通過訪問私有成員變量的方式去合并兩個SessionFactoryImpl.

     方案特性:

  每個業(yè)務(wù)實體與業(yè)務(wù)邏輯Bundle是獨立自然的

  通過SessionFactoryService服務(wù)對所有會話工廠統(tǒng)一管理。

  在SessionFactoryService服務(wù)中使用內(nèi)置HSQLDB為每個SessionFactory(根據(jù)名稱區(qū)別)提供默認的會話工廠(使用內(nèi)存數(shù)據(jù)庫或文件數(shù)據(jù)庫),方便測試。

  方案不依賴特定OSGi平臺。

 

  源代碼、文檔及Bundle下載:http://download.csdn.net/source/2406756

  測試環(huán)境:equinox3.5.2。其它用到的Bundle包括hibernate、hibernate-annotation、hsqldb、spring、spring-osgi等。請到http://www.springsource.com/repository/下載。

      注:使用前請在OSGi的啟動目錄下建立目錄logs/jta目錄。在spring dm2下使用,需要先修改config/com.springsource.kernel.userregion.properties文件,在packageImports=后加入javax.naming.*,還需要安裝spring-osgi 2.0.0 M1相關(guān)Bundle.

 

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
OpenCore: OSGi上部署Hibernate的四種方式
SpringFramework(9)
OSGi Bundle Repository(OBR)
學(xué)習(xí)筆記之 O/R 映射技術(shù)的王牌Hibernate框架
hibernate在spring中的使用
Spring2.0與Hibernate3整合 - J2EE之巔 - BlogJava
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服