|
erence。这对XMLBuddy来说是正确的做法,可以让运行继续。遗憾的是,运行没有继续多久。下一个错误是无法在JNDI中找到JTA UserTransaction初始上下文。显然我并非惟一遇到这种问题的人,在一个论坛主题中相关的讨论如火如荼,但是还没有人找到解决方案。
因为知道我不需要使用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>
我试着把上述内容注释掉并再次运行,这第三次运行成功了。运行没有出现错误,我的数据出现在数据库中。哇!运行可以信赖的antdb目标(Developer's Notebook一书的第1章中对此有说明)便可以看到所有数据(确实很简单),如图20所示。如果您要这样做,要确保从一个antschema开始创建数据库模式,或者清空来自前面实验中的任何测试数据。
 图20.测试程序所创建的数据
注意,可以在Eclipse中运行Ant目标,具体方法是右击(或控制单击)Package Explorer中的build.xml文件,选择Run An,然后使用Eclipse对话框选择目标。酷吧?
 图21.在Eclipse中运行Ant
使用查询取回数据相当简单,尽管这次的代码很接近于常规的使用Hibernate生成的普通数据访问类所使用的代码。即使Hibernate Synchronizer为处理指定查询生成了大量帮助器方法,我还是认为它们中间没有哪一个方法特别有用,因为它们都坚持运行查询后返回结果列表,而 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
|