hibernate检索策略
分类:
文章
•
2023-08-12 23:49:30
检索策略概念
- hibernate检索策略分为两类
- 立即检索:根据id查询,调用get方法,一调用get方法马上发送语句查询数据库
- 延迟查询:根据id查询,调用load方法,但是不会马上发送语句查询数据,只有得到对象里面的==不是id的==值的时候才会查询数据库
- 如果没有获取到,不会发异常,当要使用这个对象的时候,会抛出异常
- 执行延迟查询后,返回的结果只有id值,当要 获取对象中其他值的时候,就会发送查询语句
- 延迟查询分成两类
- ==类级别延迟==:根据id查询返回实体类对象,调用load方法不会马上发送语句
- ==关联级别延迟==:查询某个实体类的关联属性延迟查询
关联级别延迟操作
- 在映射文件中进行配置实现
- 根据客户得到的所有的联系人,在客户映射 文件中配置
- 在set标签上使用属性
- fetch:值select(默认)
- lazy:值:
- true:延迟(默认
- false:不延迟
- extra:及其延迟
- 当需要集合中的某个资源的时候,单独只是查询这个资源
批量抓取
- 应用场景:如果要查询一对多,或者多对多、中多的一方的实体类的关联集合属性,
- 传统方式:
- 代码:
- 结果:
- 批量抓取配置:在有关联集合属性的一端的映射配置文件中的set标签添加一个属性batch-size ,这个属性的值越大性能越高
- 结果: