【问题标题】:Lazy Exception with TransactionAttribute as not supported不支持 TransactionAttribute 的惰性异常
【发布时间】: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">,但没有成功(就像我什么都没做一样)。

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

【问题讨论】:

    标签: hibernate jpa ejb


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2011-02-25
      • 2014-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多