删除服务内的实体时引发异常:org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话 [重复]

Posted

技术标签:

【中文标题】删除服务内的实体时引发异常:org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话 [重复]【英文标题】:Exception thrown while deleting entity inside of service: org.hibernate.LazyInitializationException: could not initialize proxy - no Session [duplicate] 【发布时间】:2014-04-28 14:58:51 【问题描述】:

我在我的 Spring 应用程序中使用 HibernateTemplate。每当我尝试调用诸如保存、更新或删除之类的操作时,都会将其视为异常。

服务 org.hibernate.LazyInitializationException 中的删除异常:无法初始化代理 - 无会话

【问题讨论】:

显示引发异常的代码?并注释了@Transactional?还添加完整的堆栈跟踪。 是的,我正在使用@Transactional。我的打印堆栈跟踪是服务 org.hibernate.LazyInitializationException 中的删除异常:无法初始化代理 - 没有会话 我的意思是复制所有异常行而不是一行。并添加实体和 dao 类。 【参考方案1】:

异常表示您正在尝试加载一个超出会话的惰性集合。这意味着您需要在使用之前初始化集合对象。初始化应该在实体设置方法或 DAO 类中进行。通常不建议在实体的 setter 方法中进行初始化,因为它会将您的实体与休眠框架耦合。所以最好的地方是DAO层。但是这里我提到的只是供您参考

try this in your code

public void setInfo(IndentityInfo info)
  


   Hibernate.initialize(info);     
   this.info = info;

  

希望这有帮助!

【讨论】:

以上是关于删除服务内的实体时引发异常:org.hibernate.LazyInitializationException:无法初始化代理 - 没有会话 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

实体框架运行转换代码时引发异常

“ObjectStateManager 中已存在具有相同键的对象...”将实体状态设置为已修改时引发异常

LINQ 实体框架查询在 EF Core 中不起作用,引发异常

树枝模板内的异常处理

Sonata Admin Bundle:空实体引用在实体创建期间引发异常

尝试使用 where 子句中使用的 like 语句删除记录时,Advantage 数据库引发异常