6

根据 Spring Docs,我只能为 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,状态=打开,约会日期<今天)以及分页和排序。规范是与本机查询分开的唯一方法吗?

4

1 回答 1

7

我只需要精确匹配,但需要在一组值之间(查询的 IN 子句)。

所以你需要精确匹配以外的东西。您不可能在 Person 的 ID 属性中存储一组 ID。QBE 显然不是适合这项工作的工具。

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

于 2018-01-30T18:27:09.500 回答