当前使用版本(必填,否则不予处理)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
该问题是如何引起的?(确定最新版也有问题再提!!!)
实现逻辑删除注解@TableLogic,生产环境想记录删除时间,删除人信息。注解@TableField(fill = FieldFill.UPDATE)没有效果,我开始以为逻辑删除也是做的修改,但是实际MetaObjectHandler里面没进来。
搜索了Issues里,也看见了差不多的提问,其中有解答用BaseMapper中的:
#3754
int deleteById(Serializable id);
int deleteByMap(@Param("cm") Map<String, Object> columnMap);
int delete(@Param("ew") Wrapper<T> queryWrapper);
int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
但是我试用的 IService 中的removeByIds方法
default boolean removeByIds(Collection<? extends Serializable> idList) {
return CollectionUtils.isEmpty(idList) ? false : SqlHelper.retBool(this.getBaseMapper().deleteBatchIds(idList));
}
实际也是用的deleteBatchIds方法。
4条答案
按热度按时间g0czyy6m1#
最新版用 deleteById(your entity)
jgwigjjp2#
那批量删除呢?
64jmpszr3#
插个眼,有没有大佬解决的,这个东西很困扰哦,总不能每次remove之前都去update一下吧
rn0zuynd4#
我认为逻辑删除的目的就是为了保留数据的变化,如果不走自动填充更新时间与人员信息,那岂不是最后一次的变化看不见了?
希望作者能尽快改善或者给我们一个方案实现,谢谢