正 文

在Eclipse中使用Hibernate插件


www.7dspace.com  更新日期:2005-11-1 4:26:48  七度空间



  为了在Eclipse中运行这个简单的程序,需要设置一个新的运行配置。用CreateTest2.java作为当前文件,选择运行(Run )-> 运行...(Run...)。然后单击新建(New),因为该类有一个main() 方法,Eclipse推断出要运行该工程的当前类。Eclipse为新的运行配置取的名字,CreateTest2,很合适。屏幕窗口看起来如图19中所示,单击运行来在数据库中创建一些数据。


图19 准备在Eclipse中运行创建数据的测试程序

  如果你确实按照上边说的来做,你会发现第一次的尝试运行失败。Hibernate抱怨配置文件中连一个映射文件都没有参考,为了运行程序,至少需要一个这样的文件。这也是为什么XMLBuddy在图16底部用黄色下划线发出警告。可以很容易修改该错误,你只要在包资源浏览器(Package Explorer)中的Track.hbm.xml这个影射文档上单击右键,在Hibernate Synchronizer子菜单中选取Add Mapping Reference(如图17中所示),这样XMLBuddy就不会再抱怨XML文件有错误,程序也可以继续向前。不幸的是,没有向前推进我们所愿的那样远,下一个问题又出来了。Eclipse中显示的下一个错误是“不能在JNDI中找到JTA UserTransaction initial context”。不止我一个人犯这种错误,因为在a forum thread中有这样的讨论,而且到目前为止仍然没有找到一个解决方法。

  既然我知道不需要使用JTA,我倒是很想知道为什么Hibernate竟然会使用JTA?打开Hibernate配置文件,如图16所示,看看是不是 Hibernate Synchronizer在其中加入了可疑的内容。看了配置文件后,可以确定,有一些行看起来是罪魁祸首:


<property name="hibernate.transaction.factory_class">
net.sf.hibernate.transaction.JTATransactionFactory
</property>
<property name="jta.UserTransaction">
java:comp/UserTransaction
</property>


  一旦把那些行变成注释后,再次运行程序。这次,也就是第三次运行成功。我在自己计算机上运行没有一点错误,数据已经保存到数据库中。运行 ant db 这个target(在Developer's Notebook一书的第一章有相应的解释)可以把表中所有的数据显示出来(不可否认,这也许有点简单),如图20中所示。如果你跟着这篇文章中顺序来做的,而不是跟着书中步骤一步一步来的,你需要先运行ant schema来创建数据库中的表,或是删除以前试验留下的数据。


图20 在Eclipse中运行Ant
11页,页码:[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 

上一篇:浅议PHP程序开发中的模板选择
下一篇:Word入门动画教程20:用标尺调整页边距
作者:qiaoyu编译  来源:matrix ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐