Hibernate的get和load有什么区别
一. load加载方式
当我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。
二.Get加载方式
通过get方法来加载对象时,不管使不使用该对象,都会发出sql语句,从数据库中查询
报错不同
当通过get方式试图得到一个id不存在的user对象时,此时会报NullPointException异常
当通过load方式试图得到一个id不存在的user对象时,此时会报ObjectNotFoundException异常