按示例查询 Spring 数据 - 在子句中?

Query by Example Spring Data - In Clause?

根据 Spring 文档,我只能为 QBE 编写完全匹配。 我只需要在一组值之间进行精确匹配(查询的 IN 子句)。

例如

Person p = new Person();
p.setId(); // need to match among set of ids.
Example.of(p);

这是否可以通过 QBE 以某种方式实现,还是我完全走错了路?

类似于:

Page<S> findByIdIn(List<Integer> ids, Example<S> e, Pageable p)

两全其美?

我真正需要的,基于多个字段的动态查询(在可能的组合中,在(1,2,4)中说id,status=open,appointmentDate < today) 以及分页和排序。 规范是脱离本机查询的唯一方法吗?

I need exact matching only but among a set of values (IN clause of query).

所以你需要的不是完全匹配。您不可能将一组 ID 存储在您的 Person 的 ID 属性 中。 QBE 显然不是这项工作的正确工具。

您可以直接使用规范、标准 API、QueryDSL、动态组合的 JPQL 查询或任何其他解决方案,但不能使用 QBE。