日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Hibernate3和JBOSS3.2強(qiáng)強(qiáng)聯(lián)手

Hibernate有很多值得學(xué)習(xí)的地方,這里我們主要介紹Hibernate3,包括介紹JBOSS 3.2等方面。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供洞頭網(wǎng)站建設(shè)、洞頭做網(wǎng)站、洞頭網(wǎng)站設(shè)計(jì)、洞頭網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、洞頭企業(yè)網(wǎng)站模板建站服務(wù),10多年洞頭做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

在J2EE應(yīng)用服務(wù)器領(lǐng)域,JBoss是發(fā)展最為迅速的應(yīng)用服務(wù)器。由于JBoss遵循商業(yè)友好的LGPL授權(quán)分發(fā),并且由開(kāi)源社區(qū)開(kāi)發(fā),這使得JBoss廣為流行。另外,JBoss應(yīng)用服務(wù)器還具有許多優(yōu)秀的特質(zhì)。其一,它將具有革命性的JMX微內(nèi)核服務(wù)作為其總線結(jié)構(gòu);其二,它本身就是面向服務(wù)的架構(gòu)(Service- Oriented Architecture,SOA);其三,它還具有統(tǒng)一的類裝載器,從而能夠?qū)崿F(xiàn)應(yīng)用的熱部署和熱卸載能力。因此,它是高度模塊化的和松耦合的。JBoss用戶的積極反饋告訴我們,JBoss應(yīng)用服務(wù)器是健壯的、高質(zhì)量的,而且還具有良好的性能,2002年JBOSS獲得了最佳應(yīng)用服務(wù)器稱號(hào)。

Entity Bean的效率問(wèn)題一直是J2EE開(kāi)發(fā)中爭(zhēng)議熱點(diǎn),近年來(lái),Hibernate已經(jīng)成為了事實(shí)上的持久化引擎。最新版的JBoss應(yīng)用服務(wù)器已經(jīng)將Hibernate集成為JMX MBean服務(wù)。這使得用戶能夠在應(yīng)用服務(wù)器環(huán)境中直接使用Hibernate,而不管它是否處于J2EE上下文中。JBOSS 4.0中已經(jīng)融入了Hibernate作為對(duì)象持久化的基礎(chǔ)。

對(duì)于大量采用JBOSS 3.2.x的用戶,如何將Hibernate3加入到JBOSS中,以便使用JBOSS的連接池,支持JBOSS的BMT和CMT事務(wù)。下文將詳細(xì)將Hibernate3加入到JBOSS 3.2.x的實(shí)現(xiàn)步驟。

操作步驟

JBOSS是以JMX為微內(nèi)核的,各種功能和服務(wù)都有MBean提供,同時(shí)Hibernate提供了對(duì)MBean接口的實(shí)現(xiàn)org.hibernate.jmx.HibernateService.所以我們可以很方便的將持久化類打包成Mbean,部署到JBOSS中,以下是具體步驟:

1.將Hibernate3.jar及Hibernate用到的其他庫(kù)文件一同拷貝至相應(yīng)的JBOSS路徑下(如:jboss-3.2.1\server\default\lib)。

2.為了將我們編寫的持久化管理類,加入到JBOSS中,我們必須將他封裝成Mbean形式,以便被JMX加載。

如同實(shí)現(xiàn)一般的Mbean一樣需要編寫jboss-service.xml文件,文件內(nèi)容如下:

 
 
 
  1.  code="org.hibernate.jmx.HibernateService name="jboss.
    jca:service=HibernateFactory,name=HibernateFactory">
  2. jboss.jca:service=RARDeployer
  3. jboss.jca:service=LocalTxCM,name=YourDataSource
  4.  name="MapResources">mappings/Yourmapping.hbm.xml
  5.  name="JndiName">java:/YourJNIDName
  6.  name="Datasource">YourDataSourceJNIDName 
  7.  name="Dialect">org.hibernate.dialect.SQLServerDialect
  8.  name="TransactionStrategy">org.hibernate.
    transaction.JTATransactionFactory
  9.  name="TransactionManagerLookupStrategy"org.hibernate.
    transaction.JBossTransactionManagerLookup
  10.  name="UserTransactionName">UserTransaction

注釋:
元素表示該Mbean依賴的服務(wù),其中需要將YourDataSource替換實(shí)際應(yīng)用中使用的數(shù)據(jù)源的名稱。
元素對(duì)Mbean中的屬性進(jìn)行了配置,其中
◆MapResource指定了持久化類的映射文件,將其替換為實(shí)際的映射文件名。
◆JndiName指定的是所用到的數(shù)據(jù)源的JNDI名,將其替換為實(shí)際的數(shù)據(jù)源JNDI名稱。
◆Dialect同樣根據(jù)使用的數(shù)庫(kù)類型不同,進(jìn)行相應(yīng)的替換。
◆TransactionStrategy,在你的Session Bean使用BMT的時(shí)候應(yīng)該配置為org.hibernate.transaction.JTATransactionFactory,而當(dāng)你的Session Bean使用CMT的時(shí)候應(yīng)該配置為org.hibernate.transaction.CMTTransactionFactory.
◆Mbean是一種jar文件(但其后綴不是jar,而是sar),以下是要?jiǎng)?chuàng)建的sar包的內(nèi)部結(jié)構(gòu)。
◆YourClasses(持久化類及輔助類)
◆mappings/ Yourmapping.hbm.xml
◆META-INF/joss-service.xml

3.在Session Bean中調(diào)用持久化對(duì)象

 
 
 
  1. private javax.ejb.SessionContext _ctx;
  2. public void setSessionContext(javax.ejb.SessionContext ctx)
  3. {
  4. _ctx=ctx;
  5. }
  6. {
  7. try {
  8. InitialContext ctx = null;
  9. ctx = new InitialContext();
  10. SessionFactory jtaf = (SessionFactory)ctx.lookup(jndiName);
  11. Session session=jtaf.openSession();
  12. //Transaction tx = sessio
  13. UserTransaction tx=_ctx.getUserTransaction();
  14. tx.begin();
  15. Book book = new Book();
  16. book.setId(111);
  17. book.setBook_name("JBOSS&Hibernate");
  18. book.setPrice(111f);
  19. session.save(book);
  20. tx.rollback();
  21. session.close();
  22. }
  23. catch (NamingException e) {
  24. e.printStackTrace();
  25. } catch (Exception e1) {
  26. e1.printStackTrace();
  27. }
  28. }

上面的代碼段展示了,在session bean中操作hibernate持久化對(duì)象的過(guò)程,并且展示了如何使用JBOSS提供的JTA事務(wù)。

好了現(xiàn)在Hibernate3已經(jīng)和JBOSS 3.2.X完美的整合在一起了。


網(wǎng)站欄目:Hibernate3和JBOSS3.2強(qiáng)強(qiáng)聯(lián)手
網(wǎng)站路徑:http://m.5511xx.com/article/dhhhpso.html