session.get() vs session.load()

1、如果未能发现Serializable id

  • get()返回null
  • load()返回ObjectNotFoundException
    2、返回值
  • get()返回的是entity
  • load()返回的是entity_proxy
    3、查询范围
  • get()只会查询session级缓存,如果查询不到 ,就会去DB
  • load()会去session,然后去sessionFactory,再去DB
    4、延迟加载
  • HIBERNATE的延迟加载是基于PROXY完成的,所以get()方法并不能实现
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 5,292评论 0 2
  • hibernate(20170731) 1.导包:hibernate-distribution-3.5.6-Fin...
    潇湘雨smile阅读 3,696评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 9,260评论 0 11
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 6,062评论 0 27
  • 卓尔山关闭了,它的美景只能任由我们张开想象的翅膀去憧憬了。今天,实现真正的自驾游,没有景点没有人流,我们想去哪儿玩...
    无声竹影阅读 2,241评论 0 1