文档章节

简述hibernate left join fetch的作用

 起名字什么的太麻烦了
发布于 2016/11/24 15:18
字数 233
阅读 12
收藏 0

首先要明白延迟加载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
博文 27
码字总数 12899
作品 0
解决hibernate left join fetch 出错的问题

解决hibernate left join fetch 出错的问题 今天写一个hql,其中用到了 left join fetch ,最后报错: //错误的写法: String hql = "select count(ar) from Article ar left join fetch ar.ch......

guhai2004
2013/10/20
0
3
Hibernate查询、 检索、 抓取 (Fetch)

一、HQL 在hql中关键字不区分大小写,但属性和类名区分大小写 简单属性查询 * 单一属性查询,返回结果集属性列表 * 多个属性查询,返回集合元素是对象数组,数组长度取决于select中属性个数 ...

程海峰
2013/06/04
0
0
Hibernate N+1问题及解决办法

Hibernate的两个类设置了manyToOne(oneToMany)之后,在查询的时候,由于N 对1的一方默认的fetch=FetchType.EAGER,所以会把被关联的对象一起取出来 解决方法一:设置fetch=FetchType.LAZY,...

凡尘网络
2015/12/16
147
0
hibernate fetch属性

Hibernate的fetch="join"和fetch="select" 的一点分析 fetch参数指定了关联对象抓取的方式是select查询还是join查询,select方式时先查询返回要查询的主体对象(列表),再根据关联外键id,每...

zdatbit
2016/07/18
14
0
many-to-one fetch属性理解(借用网络)

上次用来 Eclipselink 的 JPA 优化 Query 需要用到 EclipseLink 自己的 eclipselink.left-join-fetch 特 有的hint name 来 实现。 今天在用到 Hibernate 的 一个 many-to-one 的 的时候看到它...

馨缘6009
2013/09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring中static变量不能@value注入的原因

今天本想使用@Value的方式使类中的变量获得yml文件中的配置值,然而一直失败,获得的一直为null。 类似于这样写的。 public class RedisShardedPool { private static ShardedJedisPool pool...

钟然千落
今天
2
0
CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
38
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部