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

2022-08-05 广告
苏州蓝晓生物科技有限公司。标准化核心产品:公司拥有完整的琼脂糖介质、葡聚糖介质、聚甲基丙烯酸酯介质生产线,年产分离介质50000L,产品质量稳定并达到国际领先水平。核心优势:公司核心技术人员拥有近二十年不同基质的基球开发和官能化的丰富技术经...
点击进入详情页
本回答由苏州蓝晓生物科技有限公司_提供
展开全部
lazy=false时 你从数据库中取出一个对象,那跟这个对象关联的对象也会被加载进内存,容易造成资源的浪费;lazy=true,只取出你需要的对象,如果要取跟他关联的对象,需要保持session没有关闭,
推荐使用lazy=true 数据库使用数据池
推荐使用lazy=true 数据库使用数据池
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置lazy属性。无非就是设为false,就是浪费性能些,而且的话,就举个例子吧 你有个父表又有个子表,如果你查了父表的数据,字表也就会查询出来 反之就是节约性能些。。而且,在前个例子中,不会查出相关联的表的信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lazy属性表示懒加载的意思
设为false表示程序开始运行就自动加载相关数据
设为true表示在须要相关数据的时候才会加载!
设为false表示程序开始运行就自动加载相关数据
设为true表示在须要相关数据的时候才会加载!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询