【发布时间】:2016-07-07 16:03:59
【问题描述】:
在我一直从事的项目中,我遇到了一些延迟初始化问题。有时我使用@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) 查询我的数据库,这通常工作正常,除非我尝试初始化依赖实体。
这些依赖实体都用“fetch = FetchType.LAZY”注释(它们必须是),我尝试使用 Hibernate.initialize(something); 来获取它们。当我这样做时,我得到 org.hibernate.LazyInitializationException: could not initialize proxy - no Session。
我尝试在我的 persistence.xml 中使用<property name="hibernate.enable_lazy_load_no_trans" value="true">,但没有成功(就像我什么都没做一样)。
你们知道为什么我必须打开一个事务只是为了从我的数据源中获取信息,是否有任何方法可以保持我的事务属性不受支持?
【问题讨论】: