开发者社区> 问答> 正文

关于hibernate延迟加载异常,但不想使用lazy=false问题

我的数据库是一对多关系,Users结构:

Integer id;

String name;

Set bills;

(注:先不管users的数据量,只讨论延迟加载)

我在action中查出10个Users,将List转化为Json字符串,但是爆出failed to lazily initialize a collection

原因转换Json时,会访问users.bills,这个集合采用了延迟加载,访问时才去加载数据库,而此时session已经关闭了,给配置文件中加上lazy=false即可,但这样当我查询10个Users对象,会把每个Users下的bill都查出来,非常浪费性能,因为我不需要这些数据

请问还有没有其他方法呢?我想要的是不使用lazy=false,并且在转换JSON时不爆出sessoin was closed

展开
收起
爵霸 2016-03-04 15:20:21 2427 0
1 条回答
写回答
取消 提交回答
  • 把bills设为JSON转换忽略

    2019-07-17 18:52:22
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载