15.62K 浏览2020/10/07数据库 0 kfly14 2020/06/17 1条评论 目前系统中数据删除做的物理删除,直接删除数据。 现在想改为逻辑删除就是用一个字段is_delete作为标记。 现在查询要修改,怎么统一对所有查询过滤统一加上这个字段过滤。 zale 已回答的问题 2020/10/07 kfly 已评论 2020/07/29 不知道怎么操作,直接覆盖了了这个类 org.springframework.data.mongodb.core.ExecutableFindOperationSupport{ @RequiredArgsConstructor @FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true) static class ExecutableFindSupport implements ExecutableFind, FindWithCollection, FindWithProjection, FindWithQuery { @SneakyThrows @Override public TerminatingFind matching(Query query) { // 在这里重写了匹配条件,功能实现了,但是我不懂 } } } 1 答案 活跃已投票最新最老的 0 zale372 发布 2020/10/07 0 条评论 实现上有些繁琐,你可以参考下 MongoTemplate 类对于 @Version 注解的处理实现。 但 “物理删除”、“逻辑删除”是业务层面上的定义,不是很建议框架上绑定这个概念 zale 已回答的问题 2020/10/07 注册 或 登录
不知道怎么操作,直接覆盖了了这个类
org.springframework.data.mongodb.core.ExecutableFindOperationSupport{
@RequiredArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
static class ExecutableFindSupport
implements ExecutableFind, FindWithCollection, FindWithProjection, FindWithQuery {
@SneakyThrows
@Override
public TerminatingFind matching(Query query) {
// 在这里重写了匹配条件,功能实现了,但是我不懂
}
}
}