邋遢居

          我的Java天堂

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

          使用環(huán)境:

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

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

          插件的安裝就不用多說了吧。

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

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

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

          選擇配置文件的路徑。

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

          newcfg.gif

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

          創(chuàng)建Hibernate Console Configuration。其他應(yīng)用的基礎(chǔ)。當(dāng)然以cfg文件為基礎(chǔ)的??梢酝ㄟ^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頁里你可以設(shè)置對(duì)于那個(gè)Console來產(chǎn)生代碼。以及代碼輸出目錄。如果你想通過reverse來確定產(chǎn)生那些代碼,那你就勾上reverse engineer from jdbc connection吧。

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

          gencodeconfig.gif

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

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

          3.         使用Console

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

          打開Hibernate console透視圖。
          consolepresi.gif

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

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

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

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

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

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

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

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


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

          Feedback

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

          # re: Hibernate Tool 使用說明 2005-12-31 09:31 Jet Geng
          這個(gè)應(yīng)該是該工具的一個(gè)bug,在load table schema時(shí)報(bào), 無效的列名錯(cuò)誤。更要命的是沒有找到該工具的源代碼。有點(diǎn)痛苦中……。
          can't load database schema.
          and throw a exception:
          java.sql.SQLException: 無效的列名
          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 使用說明 2006-01-04 12:40 Jet Geng
          這個(gè)問題找到了應(yīng)該是jdbc的問題。我換成了oracle 10 的jdbc驅(qū)動(dòng)就可以使用了。呵呵,終于搞定了。  回復(fù)  更多評(píng)論
            

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 南安市| 柘城县| 修水县| 凌源市| 苗栗市| 扎囊县| 保亭| 楚雄市| 丘北县| 虎林市| 仁化县| 达尔| 开远市| 罗城| 峨眉山市| 富阳市| 双城市| 景德镇市| 周口市| 蛟河市| 手游| 奎屯市| 都昌县| 灵丘县| 阳西县| 田林县| 麦盖提县| 延川县| 牙克石市| 玛多县| 赤峰市| 丹巴县| 特克斯县| 微山县| 开平市| 淳化县| 定安县| 安平县| 黎城县| 乌兰浩特市| 和政县|