Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate EntityManager+;JOTM:不使用事务_Hibernate_Jta_Jotm_Hibernate Entitymanager - Fatal编程技术网

Hibernate EntityManager+;JOTM:不使用事务

Hibernate EntityManager+;JOTM:不使用事务,hibernate,jta,jotm,hibernate-entitymanager,Hibernate,Jta,Jotm,Hibernate Entitymanager,我试图将JOTM和Hibernate EntityManager集成在一起,以事务方式在环境中测试EJB,但不在容器中 我的测试如下所示: 启动JOTM 将JOTM的UserTransaction放入JNDI 创建和配置StandardXADataSource 将数据源放入JNDI 配置hibernate并创建EMF 创建一个EM 开始交易 在EM中加入事务 存储实体 验证它是否已存储 回滚事务 检查数据库中的记录计数 拆毁一切 下面是我的代码的样子: 以下是日志输出: 测试在步骤12(第1

我试图将JOTM和Hibernate EntityManager集成在一起,以事务方式在环境中测试EJB,但不在容器中

我的测试如下所示:

  • 启动JOTM
  • 将JOTM的UserTransaction放入JNDI
  • 创建和配置StandardXADataSource
  • 将数据源放入JNDI
  • 配置hibernate并创建EMF
  • 创建一个EM
  • 开始交易
  • 在EM中加入事务
  • 存储实体
  • 验证它是否已存储
  • 回滚事务
  • 检查数据库中的记录计数
  • 拆毁一切
  • 下面是我的代码的样子:

    以下是日志输出:

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

    如您所见,即使我回滚了事务,数据库中也有一条记录。看起来像是根本没有使用的事务,记录进入数据库


    你知道这是怎么发生的吗?以及如何修复它吗?

    我发现我需要提供自己的ConnectionProvider实现,它将返回XAConnection而不是简单的连接。通过这种方式,事务似乎可以正常工作

    我遇到了同样的问题,但是在spring环境中。你能帮忙吗?