4
回答
hibernate延迟加载异常,但不想使用lazy=false,请问有好的方法吗
华为云实践训练营,热门技术免费实践!>>>   

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

Integer id;

String name;

Set<Bill> bills;

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

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

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

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




举报
allen_limi
发帖于4年前 4回/1K+阅
顶部