私は実際にさまざまなフィルターを使用して研究を作成しています。
JpaRepository を使用して単純なクエリを作成しているため、JpaSpecificationExecutor を使用して Criterias を使用して動的クエリを作成することがわかりました。
私の問題は、group by と count() を使用して複雑なクエリを作成する必要があることです。グループ化は問題ありませんが、「select」部分をオーバーライドして「count」命令を配置する方法がわかりません。
誰でも私を助けてくれますか?
spring 3.1.2 と spring-jpa-data 1.0.3 を使用しています。コードは次のとおりです。
return new Specification< Article >() {
@Override
public Predicate toPredicate(final Root<Article> root,
final CriteriaQuery<?> query, final CriteriaBuilder builder) {
//count ???
query.groupBy(root.get(Article_.id));
Predicate p = builder.and(builder.like(root.<String> get(Article_.title), "%" + title + "%"));
return p;
}
}
ありがとう !