Hibernate get和load的区别

hibernate根据id来查询对象的方式有两种:get()和load().具体区别如下

  • get()

1.当get方法被调用的时候会立刻发出sql语句去数据库查询,返回的是真实对象

2.根据id没有查询到对象的时候,会返回null

 

  • load()

1.延迟加载:当load()方法被调用的时候不会立刻发出sql语句,当调用除ID外的属性时候,才会发出sql语句

2.当load()方法被调用的时候,返回的是代理对象,这个代理对象只储存了目标对象的ID值

3.根据id没有查询到对象的时候,返回ObjectNotFoundException

 

共同点:支持一级缓存(session级别)

posted @ 2020-12-24 11:47  兵哥无敌  阅读(151)  评论(0编辑  收藏  举报