不支持TransactionAttribute的惰性异常

时间:2016-07-07 16:04:00

标签: hibernate jpa ejb

我在一个我一直在工作的项目中遇到了一些延迟初始化的问题。有时我使用fetch = FetchType.LAZY咨询我的数据库,这通常可以正常工作,除非我尝试初始化依赖实体。

这些依赖实体都注释了“<property name="hibernate.enable_lazy_load_no_trans" value="true">”(它们必须是),我尝试使用Hibernate.initialize(something);来获取它们。当我这样做时,我得到org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话。

我尝试在persistence.xml中使用{{1}}但没有成功(就像我没有做任何事情)。

你们有没有想过为什么我必须打开一个事务只是为了从我的数据源中获取信息?是否有任何方法可以保持我的交易属性不被支持?

1 个答案:

答案 0 :(得分:1)

要使实体及其关系具有相同的视图,必须在同一事务IIRC中加载关系。 因此,如果您的Bean没有Tx,则持久性无法保证一致性。