在需要更新的实体类找到需要更新的字段,添加以下注解即可解决
@TableField(validate= FieldStrategy.IGNORED)即可
源码解析:
可以看出默认的校验方式为不为null
public @interface TableField {
String value() default "";
String el() default "";
boolean exist() default true;
FieldStrategy validate() default FieldStrategy.NOT_NULL;
}
从字面上可以看出ignored 为 忽略空值或者null值
public enum FieldStrategy {
IGNORED(0, "ignored"),
NOT_NULL(1, "not null"),
NOT_EMPTY(2, "not empty");
private final int key;
private final String desc;
private FieldStrategy(int key, String desc) {
this.key = key;
this.desc = desc;
}
public static FieldStrategy getFieldStrategy(int key) {
FieldStrategy[] fss = values();
FieldStrategy[] var2 = fss;
int var3 = fss.length;
for(int var4 = 0; var4 < var3; ++var4) {
FieldStrategy fs = var2[var4];
if (fs.getKey() == key) {
return fs;
}
}
return NOT_NULL;
}
public int getKey() {
return this.key;
}
public String getDesc() {
return this.desc;
}
}