博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate中的数据获取方式及时机(fetching)
阅读量:4178 次
发布时间:2019-05-26

本文共 704 字,大约阅读时间需要 2 分钟。

lazy是Session获取数据的方式之一(另一种就是eager)。

在Session上下文之外,如果尝试直接访问被设置为lazy加载的关联数据,则应用将会抛出异常。

1. 关联数据的获取方式:
  • join,在一个select语句中,通过outer join获取关联的实例或集合
非lazy加载,无论关联的实例或集合是否被用到,都加载
  • batch,在一个select语句中,通过一组主键或外键获取实例或集合
配置hibernate.default_batch_fetch_size参数
  • select,需要的时候,在第二个select语句中获取一个实例(通过第一个select语句获得)所关联的实例或集合
支持lazy加载
  • subselect,需要的时候,在第二个select语句中获取全部实例(通过第一个select语句获得)所关联的实例或集合
支持lazy加载
2. 关联数据的获取时机:
  • Immediate fetching,立刻加载关联的实例或集合
  • Lazy collection fetching,只针对集合,默认方式,需要的时候加载整个集合
  • "Extra-lazy" collection fetching,只针对集合,只加载集合中需要的实例
  • Lazy proxy fetching,针对实例的属性,默认方式,需要访问实例的一个非标识符属性时,只获取关联实例的该属性值
被访问的属性是标识符时,获取关联实例
  • Lazy "no-proxy" fetching(不推荐),针对实例的属性,需要编译时增强字节码
  • Lazy attribute fetching(不推荐),针对实例的属性,需要编译时增强字节码

转载地址:http://uslai.baihongyu.com/

你可能感兴趣的文章
700. Search in a Binary Search Tree(Tree)
查看>>
515. Find Largest Value in Each Tree Row(Tree)
查看>>
897. Increasing Order Search Tree(Tree)
查看>>
199. Binary Tree Right Side View(Tree)
查看>>
230. Kth Smallest Element in a BST(Tree)
查看>>
求字符串的最长回文串-----Manacher's Algorithm 马拉车算法
查看>>
回溯法常用的解题模板和常见题型
查看>>
深入分析Java I/O 的工作机制
查看>>
动态规划的套路----左神
查看>>
KMP算法简解
查看>>
左神算法课进阶版总结
查看>>
左神算法基础班总结
查看>>
Linux性能优化
查看>>
进程间的通信---UNIX高级环境编程
查看>>
基于SSH开发的城市公交管理系统 JAVA MySQL
查看>>
基于SSH开发的勤工助学管理系统 JAVA MySQL
查看>>
基于SSH开发的宠物销售商城系统 JAVA MySQL
查看>>
基于springboot的宠物领养管理系统 java
查看>>
JAVA 洗衣房管理系统 宿舍洗衣机管理系统
查看>>
基于SSM的街道办安全管理系统 JAVA
查看>>