1

在 spring-date-jpa 中,当我的规范包含 query.distinct(true) 时,我看到 count(Specification) 方法,计数查询不正确。生成的 SQL 如下所示:

选择 distinctcount(*) ...

代替

选择计数(不同(*))...

在那篇文章中:spring-source-forum 解决方法是修改 spring-data-jpa 的源代码。

还有其他解决方案吗?

4

1 回答 1

0

我找到了另一种解决方法:

Subquery<Class1> sq = query.subquery(Class1.class);
Root<Class1> spouseEmp = sq.from(Class1.class);
sq.select(spouseEmp);
sq.where(builder.equal(spouseEmp.get("class2"),class2.get("class2")));
predicate.getExpressions().add(builder.exists(sq));
于 2012-08-20T00:35:40.850 回答