Hibernate 中 sedssion.get()与 session.load()的区别?【面试题详解】

今天爱分享给大家带来Hibernate 中 sedssion.get()与 session.load()的区别?【面试题详解】,希望能够帮助到大家。
Session.load/get 方法均可以根据指定的实体类和 id 从数据库读取记录,并返回与之对
应的实体对象。其区别在于:
1) 如 果 未 能 发 现 符 合 条 件 的 记 录 , get 方 法 返 回 null , 而 load 方 法 会 抛 出 一 个
ObjectNotFoundException。
2) load 支持延迟加载,get 不支持
3) load 方法可返回实体的代理类实例,而 get 方法永远直接返回实体类。
4) load 方法可以充分利用内部缓存和二级缓存中的现有数据,get 方法则仅仅在内部缓存
中进行数据查找,如没有发现对应数据,将越过二级缓存,直接调用 SQL 完成数据读取。

人已赞赏
Java

Hibernate 的 session.save()与 session.saveOrUpdate()的区别?【面试题详解】

2020-12-9 15:35:35

Java

annotation 的使用方法和用途主要分为几类?【面试题详解】

2020-12-9 15:37:01

'); })();