Java实体类字段设置为空

需要将一个实体类的某些字段设置为空,我直接set为null数据库里面没成功也不报错,请指教

img

img

你的问题:

  • 是想使用hibernate的update语句更新某个字段为nul,只是不成功

原因:

  • 因为更新策略为dynamic-update="true",不推荐全局改成dynamic-update="false",除非所有字段为null时,表都需要更新成null
  • dynamic-update="false",在hibernate的实体映射文件的class上配置

解决方法:

设计问题:
不推荐更新为null,更新为''空字符串或者‘ ’空格为好,原因如下几点

  • StringUtils工具类可以很方便判断''空字符串或者‘ ’空格
  • 老项目维护,如果全局更改更新模式,会影响之前的逻辑
  • 编程习惯.通常情况下,几乎不用去判断从数据库中读取的字段是否为null,如mybatis,mybatis-plus等

实体类跟数据库有啥关系
把你更新数据库的sql放出来看

设置为空是指……不要这个字段吗?

https://blog.csdn.net/jiong9412/article/details/126075475?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167523093416800217055803%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167523093416800217055803&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-4-126075475-null-null.142^v72^control_1,201^v4^add_ask&utm_term=%E5%AE%9E%E4%BD%93%E7%B1%BB%E7%9A%84%E5%AD%97%E6%AE%B5%E8%B5%8B%E5%80%BC%E4%B8%BAnull&spm=1018.2226.3001.4187

正确答案