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" 立刻加载,连接语句 立刻加载,连接语句  

            

  • 相关阅读:
    ida动态调试--反反调试
    python读取配置文件
    问题解决:局域网内,为啥别人ping不到我的IP
    完全卸载MySQL
    JDK环境配置
    win10无法运行Vmware,怎么办
    查看ie版本
    公开的免费WebService接口分享,用于做接口练习
    SVN更改地址
    Loadrunner录制步骤及说明
  • 原文地址:https://www.cnblogs.com/kingofkai/p/6023739.html
Copyright © 2011-2022 走看看