hibernate中session的get和load方法

Posted 胖子学习天地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate中session的get和load方法相关的知识,希望对你有一定的参考价值。

session和get都是用于获取对象的数据,但是在使用中还是存在一些差别。

1. get在使用中,会查询一级缓存,但是如果没有命中,则提交sql语句到数据库重新查询。

2. load在使用中,会优先查询一级缓存,如果没有命中,则会查询二级缓存,如果仍然没有命中,才回提交sql到数据库中执行查询。

3. load支持延迟加载的功能,但是get不行。

4. 如果get未查询到结果,则会返回null值。 如果load未查询到结果,则会抛出异常信息ObjectNotFoundException。

在hibernate中,通常session层次的为一级缓存,sessionFactory层次的为二级缓存,其中二级缓存需要额外开启。

以上是关于hibernate中session的get和load方法的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate中Session的get和load

hibernate中session的get和load方法

Hibernate中Session之get和load方法的真正区别

Hibernate中Session.get()方法和load()方法的详细比较

Hibernate的Session的get()和load()方法区别

hibernate架构之session中get与load方法的区别