Hibernate “N+1”查询问题
2024-09-01 21:10:23
Hibernate 默认情况下使用立即检索策略,即从数据库加载A对象时 会同时加载跟它关联的B,这样产生了不必要的对象集合查询,而且本来可以合并的sql要执行1+N次,因为一条select出所有的A之后,会针对A中每条数据在B检索。
所以Hibernate 提出了两种检索策略改变这种问题:
1:延迟检索:
H3 避免加载多余的关联对象,设置lazy=true;这样 不会立刻查询关联对象,只有当需要关联对象时才查询。
session.find("from A as c")
2:外连接查询:
-->left outer join
-->set FetchMode(FetchMode.JOIN)
-->映射文件定义连接抓取方式
最新文章
- [课程设计]Scrum 3.3 多鱼点餐系统开发进度(下单详细信息页面设计)
- 关于Unity动态物体无法向使用使用custom shader和lightmap的物体投射阴影
- FZU5BOYS-Beta版本冲刺计划及安排
- css之border,dispaly
- 使用iOS手势UIGestureRecognizer
- maven 练习
- 【转】出現 ";PowerCam player support IE browser only!"; 的錯誤訊息
- 【转】android新建项目时 出现appcompat_v7工程错误和红色感叹号
- C/C++基础知识总结——函数
- 使用C#操作文件
- -webkit-overflow-scrolling 与滚动回弹效果.
- 试写foxit reader的ConvertToPDF功能的wrapper
- Spring 使用介绍(六)—— AOP(二)
- Android 获取keystore SHA1方法
- Java NIO中的通道Channel(二)分散/聚集 Scatter/Gather
- kill方法
- Oracle 创建分区表
- ODAC(V9.5.15) 学习笔记(十)TVirtualTable
- [转]xml解析工具的效率比较QDomDocument、TinyXml-2、RapidXml、PugiXml
- 在CentOS 6上使用 AWStats 分析 httpd 和 Tomcat 日志
热门文章
- [openmp]使用嵌套互斥锁锁定变量
- libc++abi.dylib`__cxa_throw: 使用[AVAudioPlayer play]会产生__cxa_throw异常
- O(1)gcd学习笔记
- the project was not built since its build……
- android的布局-----FrameLayout(帧布局)
- 修改linux 的bash 为zsh
- Linux定时关机
- 牛客网 牛客小白月赛2 B.小马过河-简单的计算几何
- 受检查异常要求try catch,new对象时,就会在堆中创建内存空间,创建的空间包括各个成员变量类型所占用的内存空间
- JVM中的内存分区简介