load/get延迟加载和及时加载


load和get方法的区别:

  Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。

  区别在于:

  如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException

  Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。

  Load支持延迟加载,get 不支持延迟加载。

load和get相同之处:

  load方法get方法都可以给缓存放入数据和取出数据。

一级缓存:

  两次get()同一个OID,第二次输出便不打印sql语句,说明了一级缓存的存在性。(一级缓存是事务级别的缓存)

  load()同上所示,都有一级缓存,都可存取数据。


原文地址:https://www.cnblogs.com/hq-123/p/5817757.html