分享
 
 
 

JBoss-IDE 1.2.2 簡介 (Hibernate) 4

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

JBoss-IDE 1.2.2 簡介 (Hibernate) 4:

6. 現在要設定 XDoclet 了, 首先在 tutorial 項目中 src/META-INF 的資料夾裏新增一個 jboss-service-custom.xdt 檔案, 內容如下:

<depends>jboss.jca:service=LocalTxCM,name=MySqlDS</depends>

<attribute name="CacheProvider">net.sf.hibernate.cache.TreeCacheProvider</attribute>

然後右擊 tutorial project, 選 ‘Properties’, 再選 ‘XDoclet Configurations’, 在右上方的視窗右擊選 ‘Add Standard’, 選 ‘Standard Hibernate’ 按 ‘OK’, ‘Standard Hibernate’ 可改名為 ‘Hibernate’ 再按 ‘OK’. 點擊這個 ‘Hibernate’, 在右下方的視窗點擊 ‘hibernatedoclet’, 在右邊的視窗已可看到預設的資料, 我們選 ‘mergeDir’, 填入 ‘src/META-INF’, 如下圖:

Standard 的 hibernatedoclet 已有 ‘fileset’ 和 ‘hibernate’ 的屬性, 點擊 ‘hibernate’, 在右方視窗選 ‘version’ 填入 ‘2.0’. 再右擊 ‘hibernatedoclet’ 選 ‘Add’ -> ‘fileset’, 選 ‘dir’ 填入 ‘src/tutorial/hibernate’, 選 ‘include’ 填入 ‘**/*.hbm.xml’. 再右擊 ‘hibernatedoclet’ 選 ‘Add’ -> ‘jbossservice’, 選 ‘dataSource’ 填入 ‘java:/MySqlDS’ (根據步驟 1 在 JBoss 設定的 DataSource), 選 ‘destDir’ 填入 ‘src/META-INF’, 選 ‘dialect’ 填入 ‘net.sf.hibernate.dialect.MySQLDialect’, 選 ‘jndiName’ 填入 ‘java:/hibernate/HibernateFactory’, 選 ‘serviceName’ 填入 ‘Hibernate’, 選 ‘showSql’ 填入 ‘false’, 選 ‘transactionManagerStrategy’ 填入 ‘net.sf.hibernate.transaction.JBossTransactionManagerLookup’, 選 ‘transactionStrategy’ 填入 ‘net.sf.hibernate.transaction.JTATransactionFactory’, 選 ‘useOuterJoin’ 填入 ‘false’, 選 ‘userTransactionName’ 填入 ‘UserTransaction’, 按 ‘OK’, 如下圖:

XDoclet 設定終於完成了, 現在可以運行了. 右擊 tutorial 的項目選 ‘Run XDoclet’, 之後在 tutorial.hibernate 的包裏會新增一個 ‘Num.hbm.xml’ 檔案, 在 src/META-INF 裏會新增一個 ‘jboss-service.xml’, 如圖

. 而這個 ‘jboss-service.xml’ 有小小問題, 這是 XDoclet 對應 Hibernate 的 bug. 當打開 ‘jboss-service.xml’ 時會看到以下代碼:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE server>

<!-- Generated file - Do not edit! -->

<server>

<mbean code="net.sf.hibernate.jmx.HibernateService" name="jboss.jca:service=Hibernate">

<depends>jboss.jca:service=RARDeployer</depends>

<attribute name="MapResources">tutorial/hibernate/Num.hbm.xml</attribute>

<attribute name="JndiName">java:/hibernate/HibernateFactory</attribute>

<attribute name="Datasource">java:/MySqlDS</attribute>

<attribute name="Dialect">net.sf.hibernate.dialect.MySQLDialect</attribute>

<attribute name="UseOuterJoin">false</attribute>

<attribute name="ShowSql">false</attribute>

<attribute name="UserTransactionName">UserTransaction</attribute>

<attribute name="TransactionStrategy">net.sf.hibernate.transaction.JTATransactionFactory</attribute>

<attribute name="TransactionManagerLookupStrategy">net.sf.hibernate.transaction.JBossTransactionManagerLookup</attribute>

</mbean>

<depends>jboss.jca:service=LocalTxCM,name=MySqlDS</depends>

<attribute name="CacheProvider">net.sf.hibernate.cache.TreeCacheProvider</attribute>

</server>

尾二和尾三行是在 <mbean> 之外, 所以要手動將這兩行放在 <mbean>…</mbean> 之內. 最後按保存.

7. 現在我們來設定封裝的設置. 右擊 tutorial project, 選 ‘Properties’, 再選 ‘Packaging Configurations’, 因為 Hibernate 要包括 .hbm.xml 的影射檔案, 所以我們要在右手邊的視窗在 ‘FiboEJB.jar’ 下的 ‘/JBoss_IDE_Tutorial/bin’ (即教程 /Tutorial/bin) 中加上包括 tutorial/hibernate 包中的 ‘tutorial/hibernate/*.hbm.xml,tutorial/hibernate/*.class’ 的設定, 右擊 ‘/JBoss_IDE_Tutorial/bin’ 選 ‘Edit’:

接著是 JBoss 的 sar 服務設定, 在右手邊的視窗右擊選 ‘Add Archive’ 填入 ‘HibernateStartup.sar’ 按 ‘OK’. 再右擊這個 ‘HibernateStartup.sar’ 選 ‘Add File’, File 填入 tutorial 的 META-INF 資料夾中的 ‘jboss-service.xml’ ‘/JBoss_IDE_Tutorial/src/META-INF/jboss-service.xml’, prefix 填入 ‘META-INF’, 按 ‘OK’. 因為這個設定要在 ‘FiboApp.ear’ 之前要設置好, 所以要按最右手邊的 ‘Up’ 鍵, 放在 ‘FiboApp.ear’ 之上:

在 ‘FiboApp.ear’ 的封裝設定中, 我們要加上這個 ‘HibernateStartup.sar’, 右擊 ‘FiboApp.ear’ 選 ‘Add File’ 填入項目中的 ‘/JBoss_IDE_Tutorial/HibernateStartup.sar’ 後按 ‘OK’. 同時記得要包括設定 JBoss sar 服務當中的 ‘jboss-app.xml’ 檔案, 右擊 ‘FiboApp.ear’ 選 ‘Add File’ 填入項目中的 ‘/JBoss_IDE_Tutorial/src/META-INF/jboss-app.xml’, prefix 填入 ‘META-INF’ 後按 ‘OK’, 再按 ‘OK’:

而 ‘jboss-app.xml’ 的代碼如下:

<?xml version="1.0"?>

<jboss-app>

<loader-repository>localhost:loader=FiboApp.ear</loader-repository>

<module>

<service>HibernateStartup.sar</service>

</module>

</jboss-app>

Packaging 設定終於完成了, 現在可以運行了. 右擊 tutorial 的項目選 ‘Run Packaging’. 成功後在 Package Explorer 裏應會增多了一個 ‘HibernateStartup.sar’ 檔案, 如圖:

8. 現在我們可以試試運行了, 先起動 JBoss -> Deploy ‘FiboApp.ear’ to JBoss, 在

browser 輸入 ‘http://127.0.0.1:8080/fibo’, 再輸入 ‘50’, 便可看到以下結果, 和 JBoss-IDE 教程裏的例子是一樣的, 不過裏面已用了 Hibernate 的功能.

後記:

這個例子的缺憾就是生成 jboss-service.xml 中有 bug. 每當行完一次 ‘Run XDoclet’, 就要手動修改 jboss-service.xml. 而網上好像有 fix, 但因為懶沒有找. 最後, 可能有很多地方出錯或遺漏, 希望大家可以指正及多給意見, 謝謝!

參考資料:

http://www.jboss.org

http://www.hibernate.org

http://xdoclet.sourceforge.net/tags/hibernate-tags.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有