相同点:get()和load()方法都可以获取相应的持久化对象
不同点:
1.如果在调用get()和load()持久化对象不存在,get()返回null ,而load()抛出异常
2.两个方法发送查询sql语句有区别。
1)当使用get()方法根据ID进行单条查询时,会立即发送一条sql语句,并且返回的是实际查询的对象
2)但是使用load()方法会有所不同。当调用load()方法根据ID进行单条查询时,返回的是目标对象的代理对象,目标对象中只存储了查询对象的ID值,只有当查询了对象的除ID外的其他属性才会发送sql语句,否则不会发送sql语句。
3.缓存
1)当Session调用Load()方法试图从数据库中加载一个对象时,Session会先判断Session缓存中是否存在该对象,如果存在,那么就不需要从数据库中检索。