开发者社区 问答 正文

关于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 2589 分享 版权
1 条回答
写回答
取消 提交回答
  • 把bills设为JSON转换忽略

    2019-07-17 18:52:22
    赞同 展开评论