zoukankan      html  css  js  c++  java
  • Hibernate检索策略

    -------------------siwuxie095

       

       

       

       

       

       

       

    Hibernate 检索策略

       

       

    以客户和联系人为例(下同)

       

       

    1、Hibernate 检索策略分为两类

       

    1立即检索

       

    如:根据 id 查询,调用 get() 方法,一调用 get() 方法,

    马上发送 sql 语句查询数据库

       

       

       

       

    2延迟检索

       

    如:根据 id 查询,还有 load() 方法,调用 load() 方法,

    不会马上发送 sql 语句查询数据库。只有在得到对象中的

    值时,才会发送 sql 语句查询数据库

       

       

       

       

       

       

    2、延迟检索也分为两类

       

    1类级别延迟

       

    如:根据 id 查询,调用 load() 方法,返回实体类对象,

    不会马上发送 sql 语句

       

       

       

    2关联级别延迟

       

    如:查询某个客户,再查询这个客户的所有联系人,查

    询客户的所有联系人的过程是否需要延迟,称这个过程

    为关联级别延迟

       

       

       

       

       

       

    3、关联级别延迟操作

       

    1)在映射配置文件中进行配置

       

    如:根据客户得到所有联系人,需要在客户的映射配置文件中进行配置

       

       

       

    2)在 set 标签上配置两个属性

       

    1fetch 属性:默认为 select

       

    2lazy 属性:true:延迟(默认);false:不延迟;extra:加强延迟,极其懒惰

       

       

       

    3)默认情况下,延迟

       

       

       

       

       

    4)lazy 的值为 false 时,调用 get() 方法,直接发送两

    条 sql 语句,不延迟(一般不使用 false,效率低)

       

       

       

       

       

    5)lazy 的值为 extra 时,要什么值就只给什么值,

    加强延迟,极其懒惰,效率高

       

       

       

       

       

       

       

       

       

       

    补:

       

    set 标签上的 fetch lazy 属性

       

       

       

       

       

       

       

    many-to-one 标签上的 fetch lazy 属性

       

       

       

       

       

    总结:

       

    fetch 主要控制抓取关联对象时,发送的 sql 语句的格式

       

    lazy 主要控制查询关联对象时,是否采用延迟加载

       

    fetch 如果设置为 join,lazy 就会失效

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    使用delphi 开发多层应用(十)安全访问服务器
    使用delphi 开发多层应用(十三)使用Basic4android 直接访问kbmMW server
    使用delphi 开发多层应用(十一)使用kbmMW 开发webserver
    basic4android 开发教程翻译(八)使用ListView
    使用delphi 连接国产数据库:达梦
    kbmMW 4.01.00 Beta 1发布了
    解决 ie 下 javascript 设置 table.tBodies.innerHTML 无法设置的问题
    用vs2010 把 vcf 转成 csv,再转入Nokia
    GAC 与 引用 程序集路径
    sqlserver 函数 之 进制转换
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7302639.html
Copyright © 2011-2022 走看看