为什么JPA需要事务来加载实体

时间:2012-02-10 21:51:38

标签: hibernate jpa

为什么JPA要求为选择类型查询打开事务/会话,例如加载延迟属性?这些不能在交易之外加载吗?我完全理解为什么它需要更新或插入,但似乎是选择的一个不必要的约束(加上新手对延迟加载的许多痛苦)。

1 个答案:

答案 0 :(得分:0)

JPA不需要事务,但需要EntityManager(Hibernate:Session)才能执行此操作。这就是为什么可以通过OpenEntityManagerInView(或OpenSessionInView)而不是OpenTransactionInView来完成解决方法。

是什么让您认为您需要交易?有关没有事务的简单示例代码,请参阅here