记一次有病的经历。
从其他框架搬过来的代码,运行后出现了插入时逻辑删除字段为null不为默认值的情况。理论上代码是没问题的因为之前能跑,但还是排查了一下问题。
优先查看mapper感觉没什么问题。
又看了一下mapper.xml还是没发现任何问题。
上网查了一下可能是由于数据中的存在唯一约束和逻辑删除冲突了,为了排查先暂时删除唯一性校验相关代码。结果还是出现了逻辑删除字段不为默认值的问题。
究竟是怎么回事呢(我也不知道,我解决不了)
经过了将近一个上午的折磨我终于疯了,直接在实体类中将逻辑字段赋值为0,然后测试。结果!!居然成功了!!
@TableLogic
private String delFlag= String.valueOf('0');
但还是有一点小问题,就是删除后的逻辑删除字段也不是默认值。不过目前感觉无伤大雅。
当他运行成功的那一刻,那感觉真的很复杂,就好像一直努力去修一辆破车,修了很久也没有起色,最后他能跑了是因为给他装了个新马达。
如果有大佬知道为什么会出现这种情况可以发表一下见解。