在spring-date-jpa中,当我的规范包含query.distinct(true)时,我发现count( specification )方法,计数查询是不正确的。生成的SQL如下所示:
选择不同计数(*) ...
而不是
选择计数(distinct(*)) ...
在那篇文章:spring-source-forum中,解决方法是修改spring-data-jpa的源代码。
有没有其他的解决方案?
发布于 2012-08-20 08:35:41
我找到了另一个解决方法:
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));https://stackoverflow.com/questions/12030826
复制相似问题