load/get延迟加载和及时加载
load和get方法的区别:
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。
区别在于:
如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。
Load方法可返回实体的代理类实例,而get方法永远直接返回实体类。
Load支持延迟加载,get 不支持延迟加载。
load和get相同之处:
load方法get方法都可以给缓存放入数据和取出数据。
一级缓存:
两次get()同一个OID,第二次输出便不打印sql语句,说明了一级缓存的存在性。(一级缓存是事务级别的缓存)
load()同上所示,都有一级缓存,都可存取数据。