Hibernate中get和load的区别 [面试题]

      get会根据对应的id到缓存中(一级缓存Session,二级缓存SessionFactory)对应的POJO。如果缓存中没有,就立即发送sql到数据库中查,如果能查询到则直接返回对应的实体对象,如果查询不到返回null。

      load会根据对应的id到缓存中(一级缓存Session,二级缓存SessionFactory)对应的POJO。如果有就返回一个代理对象,只有当查询非主键信息时才发送sql到数据库中查,查不到报错,查到就返回代理对象。这个过程称为懒加载。

你可能感兴趣的:(Hibernate中get和load的区别 [面试题])