hibernate查询时出现LazyInitializationException异常的解决办法
程序员文章站
2022-01-30 20:48:16
...
一般是访问的属性被代理,无法获取到对应的值,解决方式:重新获取该对象的持久化对象访问属性即可。
比如获取用户的用户组
public List<UserGroup> getUserGroups(User user) {
List<UserGroup> list = new ArrayList<>();
if(user != null) {
try {
list = user.getGroups();
if(list != null) {
list.size(); //获取个数用于判断是否可以进行访问
}
} catch(LazyInitializationException e) {
User user = getUser(user.id); //重新获取持久化对象
if(user != null) {
list = user.getGroups();
}
}
}
return list;
}
推荐阅读
-
phpStudey2010中进入phpMyAdmin出现"无法在发生异常时创建会话,请检查PHP"的解决办法
-
解决SQL SERVER数据库备份时出现“操作系统错误5(拒绝访问)。BACKUP DATABASE 正在异常终止。”错误的解决办法
-
Excel刷新数据时出现“查询XXX(步骤”XXX“)将引用其他查询或步骤,因此可能不会直接访问数据源。请重新生成此数据组合的解决办法
-
phpStudey2010中进入phpMyAdmin出现"无法在发生异常时创建会话,请检查PHP"的解决办法
-
springboot集成redis高并发下同时保存获取字符串和对象时出现异常的解决办法
-
struts2下载文件点击取消时出现异常的解决办法
-
Excel刷新数据时出现“查询XXX(步骤”XXX“)将引用其他查询或步骤,因此可能不会直接访问数据源。请重新生成此数据组合的解决办法
-
Hibernate中单实体映射时出现空指针异常解决办法
-
AndroidStudio进行Build时出现DexArchiveMergerException异常的解决办法
-
hibernate查询时出现LazyInitializationException异常的解决办法