true的话,取出实体的时候不会取关联属性,只有访问到才会去数据库取值,false的话就是关掉lazy,这样去实体的时候自动将关联属性取出来,这样生成很多条sql语句,影响性能,如果一开始就用到关联属性还好,用不到的话就浪费了,推荐lazy=true。
追问:
有的时候lazy=true的时候代码会出错,但是设置为false就可以执行了是为什么?
追答:
lazy=true经常在session已关闭的情况下调用出错,因为在servlet环境或者其他环境经常在session的事务外调用集合,就会报session已关闭的错误,确保在session的事务范围内调用就可以了,例如spring的opensessioninview模式。