1

spring-date-jpa で、仕様に query.distinct(true) が含まれていると、count(Specification) メソッドのカウント クエリが正しくないことがわかります。生成された SQL は次のようになります。

個別カウント(*) を選択 ...

それ以外の

select count(distinct(*)) ...

その投稿: 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 に答える