Hibernate EntityManager + JOTM:不使用事务

时间:2009-08-27 12:48:57

标签: hibernate jta jotm hibernate-entitymanager

我正在尝试将JOTM和Hibernate EntityManager集成在一起,以事务方式环境但在容器外测试我的EJB。

我的测试如下:

  1. 启动JOTM
  2. 将JOTM的UserTransaction放入JNDI
  3. 创建和配置StandardXADataSource
  4. 将DataSource放入JNDI
  5. 配置休眠并创建EMF
  6. 创建EM
  7. 开始交易
  8. 加入EM中的交易
  9. 存储实体
  10. 验证它已存储
  11. 回滚交易
  12. 检查数据库中的记录数
  13. 撕下一切
  14. 以下是我的代码: http://pastebin.com/m22a9f6b

    以下是日志记录输出: http://pastebin.com/m6da9383a

    测试在步骤12(第121行)失败。

    正如您所看到的,即使我已对事务进行回滚支持,但数据库中仍有记录。似乎完全没有使用的事务和记录进入数据库。

    您是否有任何想法如何发生以及如何解决?

1 个答案:

答案 0 :(得分:0)

我想我需要提供自己的ConnectionProvider实现,它将返回XAConnection而不是简单的连接。这样交易似乎有效