hibernate中get和load的理解

Posted

tags:

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

hibernate中查询时,有get和load两种方法,但两者有一些不同,说说我的理解。

get是直接从数据库中查询,而load是缓存。

比如,getBean表示get方法查到的对象,loadBean表示load方法查到的对象。

在getBean中,该对象中所有的属性,已经全部封装完毕了;

但是loadBean中,只封装了该对象的id,其他的值还没有封装,要等到我们去调用这些值的是,才会去数据库中查出来封装进去。

所以,getBean中的属性,我们可以随时调用;

但是loadBean中的属性,我们调用时,很可能报no session的异常,因为这个时候,loadBean才去连接数据库,但是session在我们持久层方法结束的时候,已经关闭。没有连接,所以查不到。

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

Hibernate中get()和load()的区别

Hibernate中使用load和get加载的区别

hibernate延迟加载(get和load的区别)

Hibernate中get()和load()的区别

hibernate中get和load的区别

hibernate中get和load的区别