项目中有个人员同步的定时任务,负责每天从oa上将人员信息同步到本系统中;但是这两天发现其中有个用户的信息一天前已经删掉了,deleted=1;但第二天系统又插入了一条;经过检查发现
调用mp的selectOne方法时会自动加上deleted = 0这个条件,导致用户信息无法查出;深入了解发现user实体类继承的BaseEntity中有deleted字段,上面标注了@TableLogic注解表明这个是删除字段,同事yml文件中mp配置了mybatis-plus:global-config:db-config:logic-not-delete-value: 0;逻辑未删除全局值,从而导致的sql中自动添加删除字段;
因为BaseEntity是项目组全局使用的实体类,配置也不能改,所以只能手写sql解决这个问题了