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