zoukankan      html  css  js  c++  java
  • 延迟的加载

    *****
    get和load一个实体时,get会立即返回实体,而load返回的是一个代理,

    只有你访问了该实体的属性,才会真正从数据库里读取,这个你可以看他有没有发出SQL语句就可以证明。
    另一个就是映射关系时,比如一对多,一这里定义了一个多的一方的集合,延迟的加载的话就不会加载关联的实体
    *******

    延迟加载分类:

     01.类级别的查询策略

    类级别可选的加载策略包括立即加载和延迟加载。默认为延迟加载也就是true。表示采用延迟加载;如果lazy属性为false,表示采用立即加载

    load()方法在Id属性和getClass(),不去请求数据库,其他属性需请求数据库

     02.一对多和多对多关联的查询策略

    lazy属性的另一个属性extra 加强延迟加载在<set>元素配置lazy属性为"extra"。延迟加载在<set>元素配置lazy="true"。在<set>元素配置lazy="false"

     

     03.多对一关联的查询策略

     
    <many-to-one>元素用来设置多对一关联关系。lazy属性 默认值为proxyproxy:延迟加载no-proxy:无代理延迟加载false:立即加载
    
    
    
  • 相关阅读:
    真正明白了引用与对象的关系,就能避开下面这个陷阱
    python 垃圾回收
    字典
    表的操作
    MySQL数据库中的存储引擎
    MySQL数据库的基本操作
    MySQL数据库安装文件夹与配置文件简易说明
    数据库概述
    Arrays类
    Math类
  • 原文地址:https://www.cnblogs.com/ainiaiwo/p/5840805.html
Copyright © 2011-2022 走看看