需要将一个实体类的某些字段设置为空,我直接set为null数据库里面没成功也不报错,请指教
5条回答 默认 最新
- ladymorgana 2023-02-03 10:10关注
你的问题:
- 是想使用hibernate的update语句更新某个字段为nul,只是不成功
原因:
- 因为更新策略为dynamic-update="true",不推荐全局改成dynamic-update="false",除非所有字段为null时,表都需要更新成null
- dynamic-update="false",在hibernate的实体映射文件的class上配置
解决方法:
- 具体修改请参考下面博客(方案2和方案3)
- https://blog.csdn.net/test_testTim/article/details/103262199
设计问题:
不推荐更新为null,更新为''空字符串或者‘ ’空格为好,原因如下几点- StringUtils工具类可以很方便判断''空字符串或者‘ ’空格
- 老项目维护,如果全局更改更新模式,会影响之前的逻辑
- 编程习惯.通常情况下,几乎不用去判断从数据库中读取的字段是否为null,如mybatis,mybatis-plus等
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用