Closed ying010 closed 2 years ago
mybatis-plus: global-config: db-config: logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
实体字段名 实体字段名 实体字段名 实体字段名 实体字段名
当前使用版本(必填,否则不予处理)
版本:3.4.3 希望指正下我这配置是否有误,还是文档中写的忽略步骤2的起始版本不对(这是诉求,下面是问题描述)
该问题是如何引起的?(确定最新版也有问题再提!!!)
在文档中描述,配置逻辑删除时需要两步:
- 配置
com.baomidou.mybatisplus.core.config.GlobalConfig$DbConfig
;- 实体类字段上加
@TableLogic
注解 但是配置步骤1时提到如果是3.3.0及以后版本中配置了logic-delete-field
可以忽略第二步配置。但事实是在3.4.3中只配置第一步依然不能实现逻辑删除,必须两步都配才可以。 这个问题处理并不复杂,但是只看文档易造成迷惑。重现步骤(如果有就写完整)
只在配置文件中配逻辑删除配置(其他的entity扫描等也有配,但那并不是相关项所以没贴),而不在字段加
@TableLogic
;使用IService的removeById(),和BaseMapper的deleteById(),都会导致数据物理删除而不是逻辑删除。只有在字段上加了@TableLogic
才会逻辑删除。mybatis-plus: global-config: db-config: #逻辑删除配置(下面3个配置) #逻辑删除字段 logic-delete-field: delete_status #删除 logic-delete-value: 1 #未删除 logic-not-delete-value: 0
报错信息
logic-delete-field得用实体类的字段名,这里面是和实体类的名称做比较的
当前使用版本(必填,否则不予处理)
版本:3.4.3 希望指正下我这配置是否有误,还是文档中写的忽略步骤2的起始版本不对(这是诉求,下面是问题描述)
该问题是如何引起的?(确定最新版也有问题再提!!!)
在文档中描述,配置逻辑删除时需要两步:
- 配置
com.baomidou.mybatisplus.core.config.GlobalConfig$DbConfig
;- 实体类字段上加
@TableLogic
注解 但是配置步骤1时提到如果是3.3.0及以后版本中配置了logic-delete-field
可以忽略第二步配置。但事实是在3.4.3中只配置第一步依然不能实现逻辑删除,必须两步都配才可以。 这个问题处理并不复杂,但是只看文档易造成迷惑。重现步骤(如果有就写完整)
只在配置文件中配逻辑删除配置(其他的entity扫描等也有配,但那并不是相关项所以没贴),而不在字段加
@TableLogic
;使用IService的removeById(),和BaseMapper的deleteById(),都会导致数据物理删除而不是逻辑删除。只有在字段上加了@TableLogic
才会逻辑删除。mybatis-plus: global-config: db-config: #逻辑删除配置(下面3个配置) #逻辑删除字段 logic-delete-field: delete_status #删除 logic-delete-value: 1 #未删除 logic-not-delete-value: 0
报错信息
logic-delete-field得用实体类的字段名,这里面是和实体类的名称做比较的
InterceptorIgnoreHelper.handle(IgnoreStrategy.builder().tenantLine(true).build());
查询逻辑删除信息
InterceptorIgnoreHelper.clearIgnoreStrategy();
这样逻辑删除会生效吗?
当前使用版本(必填,否则不予处理)
版本:3.4.3 希望指正下我这配置是否有误,还是文档中写的忽略步骤2的起始版本不对(这是诉求,下面是问题描述)
该问题是如何引起的?(确定最新版也有问题再提!!!)
在文档中描述,配置逻辑删除时需要两步:
com.baomidou.mybatisplus.core.config.GlobalConfig$DbConfig
;@TableLogic
注解 但是配置步骤1时提到如果是3.3.0及以后版本中配置了logic-delete-field
可以忽略第二步配置。但事实是在3.4.3中只配置第一步依然不能实现逻辑删除,必须两步都配才可以。 这个问题处理并不复杂,但是只看文档易造成迷惑。重现步骤(如果有就写完整)
只在配置文件中配逻辑删除配置(其他的entity扫描等也有配,但那并不是相关项所以没贴),而不在字段加
@TableLogic
;使用IService的removeById(),和BaseMapper的deleteById(),都会导致数据物理删除而不是逻辑删除。只有在字段上加了@TableLogic
才会逻辑删除。报错信息