简述hibernate left join fetch的作用
简述hibernate left join fetch的作用
起名字什么的太麻烦了 发表于11个月前
简述hibernate left join fetch的作用
  • 发表于 11个月前
  • 阅读 8
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

首先要明白延迟加载lazy的作用。

先简述一下lazy:

lazy表示的是该属性是否懒惰加载,默认值是 true,当值为 true 的时候你在查询主对象,不会立即加载该属性值,反之则立即加载。例如:现有实体User有一个地址属性,配置为:<many-to-one name="address" class="com.my.entity.Address" lazy="false"/>,当你在查询User时不会立即加载它的address属性,而是在你用到address属性时它再自动加载,如果你一直没有用到address,那么address属性就一直不会被加载,而当lazy=false时,则是在你查询User时就立刻加载它的address属性

那么fetch相当于在程序里设置了lazy=false,如果在lazy=true中去掉了fetch,那么下面这种语句会报错

from SysDict as s left join fetch s.parent where s.isEnabled = true order by s.nature, s.order

共有 人打赏支持
粉丝 0
博文 17
码字总数 8927
×
起名字什么的太麻烦了
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: