Hibernate 中的Get和Load之间的差异
时间:2020-02-23 14:34:05 来源:igfitidea点击:
在本教程中,我们将在Hibernate中看到Get和Load之间的差异。
session.get()
- session.get()方法始终命中数据库并返回实际对象
- 如果它没有得到对象,它会返回null。
session.load()
- session.load()方法始终不按数据库并返回代理对象
- 如果它没有得到对象,它会抛出ObjectNotFoundException。
在Hibernate中get VS load
参数 | get | load |
---|---|---|
数据库检索 | 它总是击中数据库 | 它没有击中数据库 |
如果是null | 如果它没有使用ID获取对象,则返回Null | 如果它确实使用id获取对象,它会抛出ObjectNotFoundException |
proxy | 它返回真实对象 它返回代理对象 | |
使用 | 如果我们不确定具有ID的对象是否存在,则可以使用Get | 如果我们确定存在对象的存在,则可以使用load |