Hibernate中Session的load和get方法的区别是什么?

主要有以下三项区别:
① 如果没有找到符合条件的记录,get方法返回null,load方法抛出异常。
② get方法直接返回实体类对象,load方法返回实体类对象的代理。
③ 在Hibernate 3之前,get方法只在一级缓存中进行数据查找,如果没有找到对应的数据则越过二级缓存,直接发出SQL语句完成数据读取;load方法则可以从二级缓存中获取数据;从Hibernate 3开始,get方法不再是对二级缓存只写不读,它也是可以访问二级缓存的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。 其区...
    SevenCoder阅读 3,532评论 0 1
  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 5,291评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,956评论 18 399
  • 今天阴天,早上去跑步,按照跑步计划,几天是7公里。跑到7公里得时候,感觉自己还行,毕竟早几天已经突破了10公里,就...
    小贴士阅读 2,615评论 8 1
  • 这次来宁波,绝对是临时起意,本来准备去金华玩玩,怎奈到了那里天降大雨,和朋友一拍即合,买了去宁波的站票。 此时,外...
    小清读书阅读 2,738评论 0 4