区别:
1、调用load 方法时会先查一下session缓存,看看该id对应的对象是否存在,不存在则创建代理;如果要查的id对象一定存在,那么就可以使用load()方法来实现盐池加载,否则就会抛出异常。
2、调用get()方法,hibernate会确认一下该id 对应的数据是否存在,首先在session缓存中查,然后在二级缓存中查找,还没有就查数据库,数据库没有该对应的数据就会返回null。
总的来说,hibernate对于load()方法认为该数据在数据库是一定存在,可以放心使用代理来延迟加载,如果在使用过程中发现问题,则抛出异常;而对于get()方法,hibernate一定要获取到真实的数据,否则返回null。