使用例:

@OneToMany(mappedBy="item",cascade=CascadeType.ALL,fetch=FetchType.EAGER)

@Fetch(value=FetchMode.SUBSELECT)

两者比較:

两者都是设定关联对象的载入策略。前者是JPA标准的通用载入策略注解属性,

后者是Hibernate自有载入策略注解属性。

FetchType可选值意义与差别例如以下:

FetchType.LAZY: 懒载入。在訪问关联对象的时候载入(即从数据库读入内存)

FetchType.EAGER:立马载入。在查询主对象的时候同一时候载入关联对象。

FetchMode可选值意义与差别例如以下:

@ Fetch (FetchMode.JOIN) will use the left join query produced only one sql statement 

@ Fetch (FetchMode.SELECT) will have N +1 clause sql statement 

@ Fetch (FetchMode.SUBSELECT) produce two sql statement to use the second statement id in (.....) check out all the data associated

@Fetch(FetchMode.JOIN): 始终立马载入,使用外连(outer join)查询的同一时候载入关联对象,忽略FetchType.LAZY设定。

@Fetch(FetchMode.SELECT) :默认懒载入(除非设定关联属性lazy=false),当訪问每个关联对象时载入该对象,会累计产生N+1条sql语句

@Fetch(FetchMode.SUBSELECT)  默认懒载入(除非设定关联属性lazy=false),在訪问第一个关联对象时载入全部的关联对象。会累计产生两条sql语句。且FetchType设定有效。

最新文章

  1. Xcode will continue when iPad is finished. "Could not find Developer Disk Image"
  2. 让JavaScript回归函数式编程的本质
  3. Java POI导入导出Excel
  4. EasyUI的combobox控件使用onchange 问题
  5. C#中XML和json互相转换
  6. jQuery基础_1
  7. Hadoop step by step _ install and configuration environment
  8. html5in24hours
  9. PsLookupProcessByProcessId分析
  10. 浅谈HtmlParser
  11. ZOJ 3607 Lazier Salesgirl 贪心
  12. centos5.5 mount new harddisk
  13. Spring 3.x 读书笔记
  14. [Spark内核] 第33课:Spark Executor内幕彻底解密:Executor工作原理图、ExecutorBackend注册源码解密、Executor实例化内幕、Executor具体工作内幕
  15. Python编程从入门到实践笔记——异常和存储数据
  16. SpringCloud应对高并发的思路
  17. Taro开发微信小程序之初始化地图到当前位置
  18. Android View体系(七)从源码解析View的measure流程
  19. find中的-exec参数
  20. Java运行环境eclipse配置环境变量 sql server登录时用的账户以及注册码

热门文章

  1. js 对象方法、类方法、原型方法区别
  2. Qt5.9 WebChannel
  3. 9.19[XJOI] NOIP训练37
  4. guice基本使用,常用的绑定方式(四)
  5. Hoj_平方和与立方和
  6. map参数值取代
  7. AI:**消灭程序员需要一百年吗?
  8. CDR是什么?CorelDRAW矢量绘图
  9. 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
  10. WIN7无法保存打印机设置错误0x000006d9处理办法(转载)