在spring-date-jpa中,当我的规范包含query.distinct(true)时,我看到count(Specification)方法,count查询不正确。 生成的SQL如下所示:
选择distinctcount(*)...
而不是
选择计数(distinct(*))...
在该帖子中:spring-source-forum 解决方法是mofify spring-data-jpa的源代码。
还有其他解决方案吗?
答案 0 :(得分: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));