4.3 session的get与load方法

从数据库中加载数据:
session.load();
session.get();

load方法与get方法的区别:

    1. 执行get方法会立即加载对象,而执行load方法,若不使用该对象,则不会立即执行查询操作,而是返回一个代理对象
      • load是延迟检索
      • get是立即检索
    1. 若数据库中没有对应的记录,且SESSION也没有被关闭,同时需要使用对象时
      • get返回null
      • load直接抛出异常(但是如果没有使用该对象的任何属性(没有打印),没问题;若需要初始化会抛出异常)
    1. load方法可能会抛出LazyInitializationException异常 :
      • 在需要初始化代理对象之前已经关闭了SESSION(在打印EMP对象之前关闭SESSION,get方法不会抛出异常(已经加载完毕),load方法会抛出异常)。