以前碰到一个延迟加载问题,就是lazy=true的时候出现session close后读取不到数据,出现错误,现在这里总结一下经验:
一:lazy=false,这种方式效率底,不合适.
二:fetch=join,这种方式和上一种差不多.
三:使用OpensessionInView,这种方式事务管理有很多不稳定性(主要存在事务边界的不确定性),此时lazy=true.
四:就是在DAO层把数据read出来,lazy=true,这样不符合ORM关联查询思想.
五:个人认为最佳方案,就是使用动态外连接查询,此时lazy=true.