版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82796646
Hibernate防止setter()方法更新数据库
Hibernate从数据库获取到对象后直接调用其setter()方法对内部数据做更改,可能会导致直接将数据更新至数据库
更多精彩
- 更多技术博客,请移步 asing1elife’s blog
产生问题的原因
- Hibernate分为三种基本状态:游离态,自由态,持久态
- 从数据库中获取到对象属于持久态,直接进行操作会导致处于Session中的数据发生改变,从而触发数据库更新
解决办法
- 获取到当前的Session对象,将该对象从Session中清除
super.getEntityDao().getSession().evict(userWork);