邋遢居

我的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 阅读(18483) 评论(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 团派家园
这个工具很好用。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: