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(代理对象不为空,调用除ID外的属性时抛异常)

 

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

Hibernate get和load的区别

上一篇:echarts 中uploadedDataURL 中的json数据下载 以及个省份地图json数据地址


下一篇:js加减乘除运算丢失精度 前端计算金额带小数点精度丢失问题