Hibernate并没有调用update却自动更新,解决方案
2017-05-29 00:00
525 查看
问题描述:
查询处数据后,更改了POJO的属性,不去调用update()也能自动更新到数据库
hibernate在每个session里都会做些处理,比如把查询过的对象缓存起来什么,这个时候这些对象的实例是和数据库保持关联的,hibernate会记录session生命周期内所有缓存对象的操作过程,最后都会反映到数据库去,也就是所谓的托管状态(此处有误,应该是持久化状态),所以才会有自动更新这种问题。只要每次都把查询到的对象用evict(或clear)清除(记得,是每次),那么就不会有托管状态的entity,也就不会有自动更新,但这不会影响(应该)update(或saveOrUpdate)操作,evict只是清楚实例与数据库的关联而已,不是清楚实例本身。
参考链接:
http://blog.csdn.net/ideality_hunter/article/details/52024123
Hibernate中对象的三种状态及相互转化
举例理解Hibernate的三种状态
Hibernate之缓存详解
查询处数据后,更改了POJO的属性,不去调用update()也能自动更新到数据库
hibernate在每个session里都会做些处理,比如把查询过的对象缓存起来什么,这个时候这些对象的实例是和数据库保持关联的,hibernate会记录session生命周期内所有缓存对象的操作过程,最后都会反映到数据库去,也就是所谓的托管状态(此处有误,应该是持久化状态),所以才会有自动更新这种问题。只要每次都把查询到的对象用evict(或clear)清除(记得,是每次),那么就不会有托管状态的entity,也就不会有自动更新,但这不会影响(应该)update(或saveOrUpdate)操作,evict只是清楚实例与数据库的关联而已,不是清楚实例本身。
参考链接:
http://blog.csdn.net/ideality_hunter/article/details/52024123
Hibernate中对象的三种状态及相互转化
举例理解Hibernate的三种状态
Hibernate之缓存详解
相关文章推荐
- Hibernate并没有调用update却自动更新,解决方案
- Hibernate不调用update却自动更新
- Hibernate中的对象状态,及自动更新原因,Hibernate set对象后不调用update却自动更新
- Hibernate没调用update却自动更新
- Hibernate不调用update却自动更新
- 避免 Hibernate 中用get/load方法获取的实体调用set方法后自动更新
- 屏幕旋转时调用PopupWindow update方法更新位置失效的问题及解决方案
- hibernate的update() 更新延迟或者无法更新,导致同个service调用存储过程执行方法不精确
- 避免 Hibernate 中用get/load方法获取的实体调用set方法后自动更新
- 避免 Hibernate 中用get/load方法获取的实体调用set方法后自动更新
- Hibernate的方法获取对象后,对象调用set后会自动更新数据库内容的解决办法
- Windows xp 自动更新导致svchost.exe进程CPU占用率100%解决方案
- 根据数据库自动生成INSERT/UPDATE更新语句
- Hibernate 更新部分更改的字段 hibernate update
- hibernate 自动导入sql 文件import.sql 国际化编码的问题的解决方案
- 使用PB调用API自动更新(非FTP模式)(二、API说明及定义(1))
- 使用PB调用API自动更新(非FTP模式)(二、API说明及定义(2))
- Hibernate 自动建表 更新表结构
- Hibernate数据更新——Session.update/Session.saveOrUpdate
- 使用PB调用API自动更新(非FTP模式)(一、STRUCTURE定义)