zoukankan      html  css  js  c++  java
  • Hibernate总结(三)

    Hibernate(二)中,简单总结了表与表之间的级联操作,但是并没有总结查询操作,这一篇将总结Hibernate查询所实现的加载策略。

    加载策略:

      立刻加载:马上去数据库中查询

      延迟加载:当使用数据时去数据库查询

    加载的使用:

      类级别的加载:某个Class的加载方式

        1 get(): 立刻加载

        2 load():是否懒加载和配置属性lazy有关。<class name="Course" table="t_course" lazy="true">,默认,lazy为true,为懒加载。若改为false,load()方法

                  将和get()方法一样立刻加载

      关联级别的加载:当存在关系时,加载其中一方数据,该如何加载另一方数据?设计到的属性是lazy与fetch属性

              1-多加载策略:

               默认为: lazy="true",fetch="select"

      lazy="true" lazy="false" lazy="extra"
    fetch="select" 实现懒加载,两条SQl语句,普通select语句 立刻加载,普通select语句  
    fetch="join" 因为是1条语句,所以立刻加载,连接语句 因为是1条语句,所以立刻加载,连接语句  
    fetch="subselect" 懒加载,子查询语句 立刻加载,字查询语句  

              多-1加载策略:

               默认为: lazy="false"(明明是false,但实现懒加载,很奇怪),fetch="select"

      lazy="false" lazy="proxy" lazy="no-proxy"
    fetch="select" 延迟加载,普通select语句

    若关联对象的加载策略为true,则懒加载

    若关联对象的加载策略为false,则立刻加载

     
    fetch="join" 立刻加载,连接语句 立刻加载,连接语句  

            

  • 相关阅读:
    用OSCache进行缓存对象
    oscache的使用
    WHM(Web Hosting Manager)/CPANEL 设置及linux 文件权限 经验
    辗转相除法求最大公约数和最小公倍数【gcd】
    u6填写入库单单据报错
    账表名称无法显示
    商贸通反利怎么计算
    UFO报表转换不成功!请检查文件版本或使用DOS文件转换工具
    备份计划不执行
    821升级U6报错
  • 原文地址:https://www.cnblogs.com/kingofkai/p/6023739.html
Copyright © 2011-2022 走看看