get会根据对应的id到缓存中(一级缓存Session,二级缓存SessionFactory)对应的POJO。如果缓存中没有,就立即发送sql到数据库中查,如果能查询到则直接返回对应的实体对象,如果查询不到返回null。
load会根据对应的id到缓存中(一级缓存Session,二级缓存SessionFactory)对应的POJO。如果有就返回一个代理对象,只有当查询非主键信息时才发送sql到数据库中查,查不到报错,查到就返回代理对象。这个过程称为懒加载。
get会根据对应的id到缓存中(一级缓存Session,二级缓存SessionFactory)对应的POJO。如果缓存中没有,就立即发送sql到数据库中查,如果能查询到则直接返回对应的实体对象,如果查询不到返回null。
load会根据对应的id到缓存中(一级缓存Session,二级缓存SessionFactory)对应的POJO。如果有就返回一个代理对象,只有当查询非主键信息时才发送sql到数据库中查,查不到报错,查到就返回代理对象。这个过程称为懒加载。
本文标题:Hibernate中get和load的区别 [面试题]
本文链接:https://www.haomeiwen.com/subject/lnccohtx.html
网友评论