邋遢居

          我的Java天堂

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            61 Posts :: 2 Stories :: 90 Comments :: 0 Trackbacks
          Hibernate Tool 使用說(shuō)明

          使用環(huán)境:

          Eclipse 3.2M3 (http://www.eclipse.org)

          HibernateTools-3.1.0.beta2(http://www.hibernate.org/255.html)

          插件的安裝就不用多說(shuō)了吧。

          1、  創(chuàng)建cfg文件。

          Ctrl + N 帶出如下窗體。
          New.gif

          選中Hibernate Configuration File(cfg.xml)項(xiàng)。并Next下去。

          選擇配置文件的路徑。

          Next后就可以看到具體的配置窗體。

          newcfg.gif

          在這個(gè)界面中你可以配置你的SessionFactory的一些屬性。這個(gè)就不用多說(shuō)了吧。不過(guò)有一點(diǎn)還是要多說(shuō)一下的。就是你可以選擇同時(shí)創(chuàng)建一個(gè)Console。如果你不選中的話,cfg文件就創(chuàng)建完成了。

          創(chuàng)建Hibernate Console Configuration。其他應(yīng)用的基礎(chǔ)。當(dāng)然以cfg文件為基礎(chǔ)的。可以通過(guò)Ctrl + N 帶出如下窗體中選擇Hibernate Console Configuration帶出創(chuàng)建的界面。
          new console.gif
          最初的時(shí)候Mapping file可以不選。只要填上Configuration file(就是我們剛才創(chuàng)建的那個(gè)J)。另外需要在Classpath中加入你jdbc driver。這樣的話你就可以按Finish了。
          產(chǎn)生代碼和Map文件。
          gencode.gif
          點(diǎn)擊Hibernate Code Generation……后會(huì)進(jìn)入如下的界面
          createcode.gif
          點(diǎn)擊New,右邊會(huì)出現(xiàn)如下界面
          gencodemain.gif

          在這個(gè)tab頁(yè)里你可以設(shè)置對(duì)于那個(gè)Console來(lái)產(chǎn)生代碼。以及代碼輸出目錄。如果你想通過(guò)reverse來(lái)確定產(chǎn)生那些代碼,那你就勾上reverse engineer from jdbc connection吧。

          另外插件還允許你使用自己的代碼產(chǎn)生模板(模板引擎是使用的apachevelocity

          gencodeconfig.gif

          這里你可以設(shè)置你需要產(chǎn)生的內(nèi)容。具體的我就不羅嗦了。

          這些都設(shè)好以后你就可以通過(guò) Run button來(lái)產(chǎn)生代碼了。

          3.         使用Console

          我們現(xiàn)在可以把剛才生成的java classmapping文件加到console中來(lái)了。

          打開(kāi)Hibernate console透視圖。
          consolepresi.gif

          在這里你可以執(zhí)行Hql.查看查詢結(jié)果。查看對(duì)象屬性,等等。

          我們現(xiàn)在就先看一下執(zhí)行hql.
          executehql.gif
          這樣就會(huì)打開(kāi)hql的編輯器。
          hqleditor.bmp

          編輯其中提供了三個(gè)比較好用的功能,Content Assist,Content Tip,Format Hql.具體的有哪些功能可以自己看看。

          在執(zhí)行前是否想看一下最終的sql是什么樣的,那就看看好了。通過(guò)Hibernate Dynamic Query Translator可以辦到。
          hibernatedynamicquerytranslator.gif

          還有我的hql中有參數(shù),如何對(duì)這些參數(shù)賦值呢。

          那就通過(guò)Query Parameters視圖吧。這個(gè)特別對(duì)于需要多次執(zhí)行的hql是不是很方便。(是我個(gè)人比較喜歡的一個(gè)功能)。queryparameters.gif

          所了這么多,到底如何執(zhí)行啊,如何看結(jié)果啊。

          看看這個(gè)就好了。run.gif
          至于結(jié)果你可以通過(guò)Hibernate Query Result視圖來(lái)查看。如果配合上屬性視圖那你可以看得更清楚。
          queryresult.gif
          最后還送一個(gè)視圖。
          model.gif


          posted on 2005-12-29 17:17 Jet Geng 閱讀(18518) 評(píng)論(19)  編輯  收藏 所屬分類: Hibernate

          Feedback

          # re: Hibernate Tool 使用說(shuō)明 2005-12-31 08:34 windy xu
          加上一點(diǎn)說(shuō)明,這個(gè)Tool對(duì)Oracle8i的數(shù)據(jù)庫(kù)支持不好,9i尚未測(cè)試過(guò)  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2005-12-31 09:31 Jet Geng
          這個(gè)應(yīng)該是該工具的一個(gè)bug,在load table schema時(shí)報(bào), 無(wú)效的列名錯(cuò)誤。更要命的是沒(méi)有找到該工具的源代碼。有點(diǎn)痛苦中……。
          can't load database schema.
          and throw a exception:
          java.sql.SQLException: 無(wú)效的列名
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
          at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
          at oracle.jdbc.driver.OracleStatement.get_column_index(OracleStatement.java:4383)
          at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:667)
          at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1374)
          at org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect$1.convertRow(JDBCMetaDataDialect.java:79)
          at org.hibernate.cfg.reveng.dialect.ResultSetIterator.next(ResultSetIterator.java:47)
          at org.hibernate.cfg.reveng.JDBCReader.processTables(JDBCReader.java:382)
          at org.hibernate.cfg.reveng.JDBCReader.readDatabaseSchema(JDBCReader.java:62)
          at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter$1.execute(LazyDatabaseSchemaWorkbenchAdapter.java:79)
          at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:35)
          at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.readDatabaseSchema(LazyDatabaseSchemaWorkbenchAdapter.java:70)
          at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:39)
          at org.hibernate.eclipse.console.workbench.LazyDatabaseSchemaWorkbenchAdapter.getChildren(LazyDatabaseSchemaWorkbenchAdapter.java:31)
          at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:70)
          at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:192)
          at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)   回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-01-04 12:40 Jet Geng
          這個(gè)問(wèn)題找到了應(yīng)該是jdbc的問(wèn)題。我換成了oracle 10 的jdbc驅(qū)動(dòng)就可以使用了。呵呵,終于搞定了。  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-01-04 13:49 windy xu
          perfect  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-01-07 15:40 水狐
          這個(gè)Tool 是beta的就是不行啊~~~竟然和eclipse3.1.0+wtp0.7.x下沖突。

          等正式版的~~  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-01-08 09:21 Jet Geng
          eclipse3.1.0+wtp0.7.x 這個(gè)版本我沒(méi)有測(cè)試過(guò)。我用的是eclipse 3.2m3 wtp 1.0。:)
            回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-02-22 09:11 初學(xué)者
          wtp1.0的當(dāng)然可以,hibernateTools就是基于wtp1.0的,不過(guò)使用wtp1.0中還有許多問(wèn)題,例如:不支持多個(gè)web modules
            回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-07-12 09:13 green
          能夠直接連接數(shù)據(jù)庫(kù)生成hbm文件嗎?  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-09-13 11:13 Aquarius
          你好,你能把hibernate tools 3.2 的最新版發(fā)到我郵箱里嗎?或者通過(guò)別的方式。現(xiàn)在官方網(wǎng)站上下載不了了。我的email:suna_lili82@sina.com  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-09-13 11:14 Aquarius
          我的qq:18944050  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2006-12-11 11:33 ds
          奇怪阿,我用的是最新beta8版本的,但是generate code 的時(shí)候提示有exception:java.lang.IndexOutofBoundsException: Index 0,Size:0

          不知道問(wèn)題在哪...  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明[未登錄](méi) 2007-03-02 11:41 egg
          reference,thank you
            回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2007-03-25 12:36 忍者DJ
          謝謝你了   回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2007-05-08 09:32 使用測(cè)試
          java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
          <No message>
            回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明[未登錄](méi) 2007-05-09 10:03 Jet
          @使用測(cè)試
          你用 的什么 版本啊  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2008-07-08 00:01 silence1214
          我點(diǎn)了 run 它死活不生成代碼  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2008-11-25 09:37 huanglh
          @使用測(cè)試
          我的也是,不知道如何辦了!  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2009-04-03 14:36 coofucoo
          在3.4.1中有點(diǎn)不同。。。  回復(fù)  更多評(píng)論
            

          # re: Hibernate Tool 使用說(shuō)明 2009-12-17 22:30 團(tuán)派家園
          這個(gè)工具很好用。  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 德兴市| 施秉县| 潢川县| 巴南区| 浦江县| 徐水县| 永兴县| 安平县| 屯门区| 句容市| 六枝特区| 平乡县| 惠安县| 商洛市| 怀来县| 怀柔区| 兴和县| 东港市| 秭归县| 阳谷县| 昌邑市| 滦平县| 葵青区| 合江县| 白城市| 广安市| 福州市| 灵台县| 获嘉县| 邯郸县| 永胜县| 庆安县| 宁明县| 太原市| 龙口市| 舞钢市| 梁河县| 瑞丽市| 霍州市| 鸡泽县| 乌拉特后旗|