baomidou / mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development
https://baomidou.com
Apache License 2.0
16.44k stars 4.31k forks source link

[功能改进]: 描述:与TableLogic注解搭配使用的逻辑删除功能 #6567

Closed Noel443 closed 3 weeks ago

Noel443 commented 3 weeks ago

确认

功能改进

我的业务里删除数据需要使用逻辑删除,而逻辑删除会导致唯一索引冲突,所以我需要一个跟随id走的delFlagNo字段,而这个东西我想像TableLogic注解一样,但是我翻阅资料,发现这个注解是写死在框架内部的,我不能像AOP或者别的方式自定义注解去增强。所以我只能在delete之前先update这个delFlagNo为主键id,然后再removeById去走逻辑删除。我希望TableInfoHelper多增加一个注解,用于我作为逻辑删除的唯一键的字段的标识。或者给我一个类似PostProcessor这种增强切入点去加入我的一些业务代码,请问这个功能可以作为下一版本的feature吗?

参考资料

https://blog.csdn.net/RenshenLi/article/details/118499426

miemieYaho commented 3 weeks ago

你逻辑删除值非要是id?逻辑删除值为时间类型满足不了你吗?

Noel443 commented 3 weeks ago

TableLogic的delFlag字段默认值是0,删除值是1,delFlagNo是id值,当然不是说非得是id值,只是想问能不能在这里给我自定义一些操作,或者多加一个注解这样子

Noel443 commented 3 weeks ago

这个delFlag在其他业务上有别的业务含义,所以只能多加一个delFlagNo去应付,如果没有相关业务含义,TableLogic已经是可以满足业务需求了

miemieYaho commented 3 weeks ago

为什么delFlag会有别的业务含义?删除就是删除,如果你还有其他含义那就不是删除了请勿乱用