zoukankan      html  css  js  c++  java
  • Hibernate load 和 Get的区别

    load和get都可以取回一个对象,难道是方法重复吗?绝对不可能,那它们到底有那些区别呢?

    http://blog.chinaunix.net/u/484/showart_1093166.html这个帖子上看到的答案:

    一、load有加载延时,需要设置lazy属性,我没有配置lazy的时候,报错,加上了lazy="false"属性时,用load才没有报错

    二、当记录不存在时,load产生异常,get返回null

    三、load方法可以返回实体的代理类,get方法则返回真是的实体类
    四、load方法可以充分利用hibernate的内部缓存和二级缓存中的现有数据

          而get方法仅仅在内部缓存中进行数据查找,如果没有发现数据則将越过二级缓存,直接调用SQL查询数据库
    五、也许别人把数据库中的数据修改了,load如何在缓存中找到了数据,则不会再访问数据库,而get则会返回最新数据。

    这样看起来,用到get的概率要多于load的概率。

  • 相关阅读:
    交换实验
    路由引入和控制
    ISIS
    BGP联盟
    BGP2
    bgp
    Linux日常总结
    配置本地yum源方法
    达梦数据库常见问题-安装
    达梦数据库常见问题-安装
  • 原文地址:https://www.cnblogs.com/yixianyixian/p/7205769.html
Copyright © 2011-2022 走看看