这两个函数都是用来从数据库中加载对象,其区别说起来主要有以下两点:

1.如果数据库中不存在该对象,那么load是抛出一个ObjectNotFound的异常,而get是返回一个空指针

2.加载机制不同

  当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.load()方法来加载一个对象时,此时并不会发出sql语句,当前得到的这个对象其实是一个代理对象,这个代理对象只保存了实体对象的id值,只有当我们要使用这个对象,得到其它属性时,这个时候才会发出sql语句,从数据库中去查询我们的对象。

     而get则在调用时就执行Sql语句。

具体参考下文:

http://www.cnblogs.com/xiaoluo501395377/p/3371776.html

相关文章:

  • 2022-12-23
  • 2021-10-13
  • 2021-08-06
  • 2021-08-10
  • 2022-02-27
  • 2021-11-10
  • 2022-12-23
猜你喜欢
  • 2021-08-03
  • 2022-12-23
  • 2022-01-10
  • 2022-01-12
  • 2022-12-23
相关资源
相似解决方案