当前使用版本(必填,否则不予处理)

3.3.1

该问题是如何引起的?(确定最新版也有问题再提!!!)

逻辑删除字段 在MVC中传入1个实体entity,传入的entity中包含表中所有字段(包含逻辑删除字段),在调用Iservice的default boolean updateById(T entity)方法时,自动生成的sql不会修改标记为@TableLogic的字段

重现步骤(如果有就写完整)

entity:

import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import lombok.experimental.Accessors;

import java.io.Serializable;

@Accessors(chain=true) @TableName("pms_brand") public class BrandEntity1 implements Serializable { private static final long serialVersionUID = 1L;

@TableId
private Long brandId;

private String name;

private String logo;

private String descript;

@TableLogic(value = "1", delval = "0")
private Integer showStatus;

private String firstLetter;

private Integer sort;

}

controller:

/* * 修改 / @RequestMapping("/update") public R update(@RequestBody BrandEntity brand){ brandService.updateById(brand); return R.ok(); }

request:

{ "brandId": 1, "descript": "string", "firstLetter": "M", "logo": "string", "name": "string", "showStatus": 1, "sort": 0 }

自动执行的sql UPDATE pms_brand SET name='string', logo='string', descript='string', first_letter='M', sort=0 WHERE brand_id=1 AND show_status=0

报错信息

不能修改被@TableLogic标注的字段的值

Comment From: miemieYaho

就这样的