FetchType与FetchMode的区别
来源:互联网 发布:网络推手kim 编辑:程序博客网 时间:2024/06/05 01:15
原文链接:http://fantasy-lixk.iteye.com/blog/1602797
使用例:
@OneToMany(mappedBy="item",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
@Fetch(value=FetchMode.SUBSELECT)
//对应xml的话,应该是<set name="xxc" cascade="all" lazy="false"fetch=“subselect”><key column="groupId"></key><one-to-many class="com.aaaa.B"/></set>
两者比较:
两者都是设定关联对象的加载策略。前者是JPA标准的通用加载策略注解属性,
后者是Hibernate自有加载策略注解属性。
FetchType可选值意义与区别如下:
FetchType.LAZY: 懒加载,在访问关联对象的时候加载(即从数据库读入内存)
FetchType.EAGER:立刻加载,在查询主对象的时候同时加载关联对象。
FetchMode可选值意义与区别如下:
@Fetch(FetchMode.JOIN): 始终立刻加载,使用外连(outer join)查询的同时加载关联对象,忽略FetchType.LAZY设定。
@Fetch(FetchMode.SELECT) :默认懒加载(除非设定关联属性lazy=false),当访问每一个关联对象时加载该对象,会累计产生N+1条sql语句
@Fetch(FetchMode.SUBSELECT) 默认懒加载(除非设定关联属性lazy=false),在访问第一个关联对象时加载所有的关联对象。会累计产生两条sql语句。且FetchType设定有效。
- FetchType与FetchMode的区别
- FetchType与FetchMode的区别
- FetchType与FetchMode的区别
- FetchType与FetchMode的区别
- FetchType与FetchMode的区别
- FetchType与FetchMode的区别
- FetchType与FetchMode的区别
- FetchType.EAGER与FetchType.LAZY的区别
- FetchMode和FetchType
- hibernate FetchType和FetchMode
- FetchMode.JOIN FetchMode.SELECT FetchMode.SUBSELECT 的区别
- FetchType.LAZY和FetchType.EAGER什么区别?(懒加载和急加载的理解)
- FetchMode的详细解释
- FetchMode
- Spring的FetchType
- FetchType
- Hibernate,FetchType.LAZY和FetchType.EAGER什么区别?
- hibernate 的 CascadeType 属性 和 FetchType属性
- Oracle中的约束
- JAVA在cmd命令行下运行
- Ubuntu下安装360随身wifi方法
- 高级图像去雾算法的快速实现
- hdu 1401 双向搜索(bfs)
- FetchType与FetchMode的区别
- Matlab中的数据预处理-归一化(mapminmax)与标准化(mapstd)
- SCI、EI及影响因子
- mysql中模糊查询的四种用法介绍
- p2p技术在物联网上(wifi模块)的应用
- expected specifier-qualifier-list before ‘uint16_t’
- 数据注解与验证
- [C++]MySQL数据库操作实例
- 改良程序的11技巧