休眠中获取和加载之间的区别

在这篇文章中,我们将看到休眠状态下get和load之间的区别。最被问到 冬眠的面试问题.

教程内容:

在我们真正看到差异之前,让我简要介绍一下两者。

session.get()

  • session.get()方法总是访问数据库并返回实际对象
  • 如果没有对象,则返回null。

session.load()

  • session.load()方法始终不会访问数据库并返回代理对象
  • 如果没有得到对象,它将抛出ObjectNotFoundException。

 在休眠中获取vs负载

参数
得到
加载
数据库检索
它总是命中数据库
它没有打数据库
如果为空
如果未获取具有id的对象,则返回null
如果确实获得了具有ID的对象,则会引发ObjectNotFoundException
代理
它返回真实对象
返回代理对象
利用
如果不确定ID为id的对象是否存在,可以使用get
如果确定对象的存在,则可以使用负载

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。