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()方法的详细比较