abel533 / Mapper

Mybatis Common Mapper - Easy to use
https://mybatis.io
MIT License
7.29k stars 1.62k forks source link

@LogicDelete能否支持null作为被删除标记 #893

Closed getError closed 3 months ago

getError commented 8 months ago

@LogicDelete注解当前定义为

@Target({ElementType.FIELD, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface LogicDelete {

    int isDeletedValue() default 1;

    int notDeletedValue() default 0;

}

导致逻辑删除标记位是int型,不能置为null,导致”逻辑删除“和”唯一索引“不能共存。建议修改int返回值为Interger,是得注解能够接受null作为默认标记位,这样已被删除的记录就不会触发唯一索引的限制了