博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate防止setter()方法更新数据库
阅读量:6231 次
发布时间:2019-06-22

本文共 383 字,大约阅读时间需要 1 分钟。

版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82796646

Hibernate防止setter()方法更新数据库

Hibernate从数据库获取到对象后直接调用其setter()方法对内部数据做更改,可能会导致直接将数据更新至数据库

更多精彩

  • 更多技术博客,请移步

产生问题的原因

  1. Hibernate分为三种基本状态:游离态,自由态,持久态
  2. 从数据库中获取到对象属于持久态,直接进行操作会导致处于Session中的数据发生改变,从而触发数据库更新

解决办法

  1. 获取到当前的Session对象,将该对象从Session中清除
super.getEntityDao().getSession().evict(userWork);
你可能感兴趣的文章
开源SIP服务器加密软件NethidPro升级
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
oracle12C 重做日志
查看>>
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
ObjectOutputStream和ObjectInputStream
查看>>
nagios客户端未启动报错
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
《OpenGL ES应用开发实践指南:Android卷》—— 1.3 初始化OpenGL
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
MongodDB学习笔记(二)(复制)
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>
VS2005环境下采用makefile编译、使用libjpeg.lib函数库
查看>>
EBS多语言
查看>>
说说设计模式~ 模版模式(Template)
查看>>
【linux】文件隐藏属性
查看>>