在hibernate中查询数据的 session中get 和load的区别:

* 第一点.发送SQL的时机:

* load这个方法采用了一个技术.lazy延迟加载(懒加载).真正使用这个对象的数据的时候.(对象的数据不包括主键).

* get这个方法是立即检索.当执行session.get()方法的时候,马上发送SQL语句查询.

 

* 第二点.返回的对象:

* load方法返回的是代理对象.

* get方法返回的是真实的对象.

 

* 第三点.查询一个不存在的数据:

* load方法抛异常:ObjectNotFoundException.

* get方法抛异常:NullPointException.

关于hibernate面试经常会提问相关问题。切记切记!!

猜你喜欢

转载自blog.csdn.net/lionking0hao/article/details/79710705