邋遢居

          我的Java天堂

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

          使用環境:

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

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

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

          1、  創建cfg文件。

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

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

          選擇配置文件的路徑。

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

          newcfg.gif

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

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

          在這個tab頁里你可以設置對于那個Console來產生代碼。以及代碼輸出目錄。如果你想通過reverse來確定產生那些代碼,那你就勾上reverse engineer from jdbc connection吧。

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

          gencodeconfig.gif

          這里你可以設置你需要產生的內容。具體的我就不羅嗦了。

          這些都設好以后你就可以通過 Run button來產生代碼了。

          3.         使用Console

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

          打開Hibernate console透視圖。
          consolepresi.gif

          在這里你可以執行Hql.查看查詢結果。查看對象屬性,等等。

          我們現在就先看一下執行hql.
          executehql.gif
          這樣就會打開hql的編輯器。
          hqleditor.bmp

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

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

          還有我的hql中有參數,如何對這些參數賦值呢。

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

          所了這么多,到底如何執行啊,如何看結果啊。

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


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

          Feedback

          # re: Hibernate Tool 使用說明 2005-12-31 08:34 windy xu
          加上一點說明,這個Tool對Oracle8i的數據庫支持不好,9i尚未測試過  回復  更多評論
            

          # re: Hibernate Tool 使用說明 2005-12-31 09:31 Jet Geng
          這個應該是該工具的一個bug,在load table schema時報, 無效的列名錯誤。更要命的是沒有找到該工具的源代碼。有點痛苦中……。
          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)   回復  更多評論
            

          # re: Hibernate Tool 使用說明 2006-01-04 12:40 Jet Geng
          這個問題找到了應該是jdbc的問題。我換成了oracle 10 的jdbc驅動就可以使用了。呵呵,終于搞定了。  回復  更多評論
            

          # re: Hibernate Tool 使用說明 2006-01-04 13:49 windy xu
          perfect  回復  更多評論
            

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

          等正式版的~~  回復  更多評論
            

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

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

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

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

          # re: Hibernate Tool 使用說明 2006-09-13 11:14 Aquarius
          我的qq:18944050  回復  更多評論
            

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

          不知道問題在哪...  回復  更多評論
            

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

          # re: Hibernate Tool 使用說明 2007-03-25 12:36 忍者DJ
          謝謝你了   回復  更多評論
            

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

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

          # re: Hibernate Tool 使用說明 2008-07-08 00:01 silence1214
          我點了 run 它死活不生成代碼  回復  更多評論
            

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

          # re: Hibernate Tool 使用說明 2009-04-03 14:36 coofucoo
          在3.4.1中有點不同。。。  回復  更多評論
            

          # re: Hibernate Tool 使用說明 2009-12-17 22:30 團派家園
          這個工具很好用。  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 塔河县| 沧州市| 青海省| 军事| 英吉沙县| 任丘市| 东安县| 馆陶县| 敦煌市| 齐河县| 四川省| 利川市| 永宁县| 诸暨市| 乌苏市| 永春县| 虎林市| 三河市| 汝城县| 濮阳市| 板桥市| 赣州市| 金昌市| 西和县| 右玉县| 肇源县| 遂昌县| 徐闻县| 禄丰县| 安龙县| 平果县| 响水县| 万盛区| 许昌县| 济宁市| 正阳县| 莆田市| 上栗县| 满洲里市| 丹东市| 石景山区|