第一、get方法与load方法的区别: 1.查询的时机不同 get的查询时机:每次调用get方法时,马上发起查询。 立即加载 load的查询时机:每次真正使用的时候,发起查询. 延迟加载 2.返回的结果不同 get方法返回的对象是实体类类型 load方法返回的对象是实体类类型的代理对象 load方法默认情况下是延迟,可以通过配置的方式改为立即加载 第二、Hibernate中的对象状态 瞬时状态(临时状态):没有OID,和Session没关系。 持久化状态:有OID,和Session有关系。只有持久化状态的对象才有一级缓存的概念。 脱管状态(游离状态):有OID,和Session没关系。 删除状态:有OID,和Session有关系。同时已经调用了删除方法,即将从数据库把记录删除,但是事务还没提交,此时的对象状态是删除态。