Hibernate中session.get()和session.load()方法的区别 // get与load

A  a  =  session.get(A.calss,1);//1是id的意思

A  a  =  session.load(A.calss,1);//1是id的意思

get方法

        采用的是立即加载,执行到这方法的时候就会立即发送SQL语句去查询。

        查询后返回的是真实对象,对象的本身。

        查询一个找不到的对象,返回是null。

load方法

        采用的是延迟加载(lazy懒加载),执行到这方法的时候,不会发送SQL语句,当真正使用这个对象才会发送SQL语句,即提交事务。

        查询后返回的是代理对象。利用的是javassist技术产生的代理。

        查询一个找不到的对象,返回ObjectNotFoundException。

猜你喜欢

转载自blog.csdn.net/weixin_40295575/article/details/80698055