首页 > 代码库 > hibernate中get和load的理解

hibernate中get和load的理解

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

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

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

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

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

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

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

hibernate中get和load的理解