Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 在bean管理的事务中使用EntityManager展开方法_Hibernate_Jpa_Jakarta Ee - Fatal编程技术网

Hibernate 在bean管理的事务中使用EntityManager展开方法

Hibernate 在bean管理的事务中使用EntityManager展开方法,hibernate,jpa,jakarta-ee,Hibernate,Jpa,Jakarta Ee,我正在使用从em.unwrap(..)方法获得的Hibernate会话。我似乎找不到任何关于使用后是否必须释放它的信息。事务由bean管理,实体管理器使用@Inject注入 boolean transactionSuccess = false; try { utx.begin(); final Session session = em.unwrap(Session.class); transactionSuccess = true;

我正在使用从
em.unwrap(..)
方法获得的Hibernate会话。我似乎找不到任何关于使用后是否必须释放它的信息。事务由bean管理,实体管理器使用
@Inject
注入

    boolean transactionSuccess = false;
    try {
        utx.begin();
        final Session session = em.unwrap(Session.class);
        transactionSuccess = true;
    } finally {
        commitOrRollback(transactionSuccess);
    }
我假定实体管理器实例由容器管理。既然会话或多或少是底层实现,我就必须发布它吗?它毕竟是可自动关闭的

我发现的唯一相关信息是(但似乎是普通的JPA):

否,您请求了一个底层对象,关闭该对象的责任在于EntityManager


当您使用未包装的Hibernate时,自动关闭会话是合理的。

您可以指出自己的问题以供参考…?对不起,我搞错了。固定的。