我正在尝试将 JOTM 和 Hibernate EntityManager 集成在一起,以在事务方式环境中测试我的 EJB,但在容器外。
我的测试如下所示:
- 启动 JOTM
- 将 JOTM 的 UserTransaction 放入 JNDI
- 创建和配置 StandardXADataSource
- 将 DataSource 放入 JNDI
- 配置休眠并创建 EMF
- 创建一个 EM
- 开始交易
- 在 EM 中加入交易
- 存储实体
- 验证它是否已存储
- 回滚事务
- 检查数据库的记录数
- 撕毁一切
这是我的代码的样子: http: //pastebin.com/m22a9f6b
这是日志输出: http: //pastebin.com/m6da9383a
测试在第 12 步(第 121 行)失败。
如您所见,即使我已经回滚了事务,数据库中也有一条记录。似乎根本没有使用的事务和记录进入数据库。
你有什么想法是如何发生的以及如何解决它?