hibernate 检索策略

检索数据时的两个问题:

  1、不浪费内存:只查询需要的数据

  2、更高的查询效率:发送尽可能少的 SQL 语句

 

类级别的检索策略:

  1、立即检索

  2、延迟检索(只初始化 OID,其余的属性只在使用的时候才会再加载)

  通过 <class> 元素的 lazy 属性来设置

  注意:此设置只对 load 方法有效

 

一对多和多对多的检索策略:

  在映射文件中,用 <set> 元素来配置一对多和多对多的关联关系。<set> 元素主要有 lazy,fetch 属性

  lazy:主要决定集合被初始化的时机,即到底是在加载对象时就被初始化,还是程序在访问集合时才被初始化(默认为true)

  fetch:取值为 select 或 subselect 时,决定初始化集合的查询语句的形式,若取值为 join,则决定集合被初始化的时机

    若把 fetch 设置为 join,则会忽略 lazy 属性

    若把 fetch 设置为 subselect,则会忽略 batch-size 属性

   batch-size:设定批量检索的数量。批量检索能减少 select 语句的数目,提高运行性能。

posted @ 2017-10-23 15:56  郑能量!  阅读(154)  评论(0编辑  收藏  举报