gpt4 book ai didi

hibernate - 在 bean 管理的事务中使用 EntityManager unwrap 方法

转载 作者:行者123 更新时间:2023-12-03 07:56:52 25 4
gpt4 key购买 nike

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

    boolean transactionSuccess = false;
try {
utx.begin();
final Session session = em.unwrap(Session.class);
transactionSuccess = true;
} finally {
commitOrRollback(transactionSuccess);
}

我假设实体管理器实例由容器管理。由于 Session 或多或少是底层实现,我是否必须发布它?毕竟它是 AutoCloseable

我发现的唯一相关信息是这个(但它似乎是普通的 JPA): After using the unwrap method on entitymanager to get the native hibernate session do I have to close both?

最佳答案

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

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

关于hibernate - 在 bean 管理的事务中使用 EntityManager unwrap 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com