hibernate学习(3)——get和load的区别

   通过get和load都可以从数据库中取到数据组装成一个对象。但这两个方法间有一点区别:

1、调用get方法的时候,会马上向数据库发出sql语句查询,返回对象。调用load方法则不会马上发sql语句,返回的是一个代理对象。当真正使用的时候才会发出sql。所以要求这时Session的transaction还没有提交,否则包延迟初始化异常。

2、如果取的记录是数据库中不存在的,调get方法是马上会报错(找不到对应的记录),调load方法是不会报错。(当然使用该对象时会报错!)其实第二点区别根本还是在第一点。

你可能感兴趣的:(Hibernate)