Spring Data JPA を使っていて、集計処理をどのように書くのが良いかわからずに調べた記録。 (例は Spring Data JPA 固有の話ではあるが、JPQL の知識は Spring Data JPA 以外での JPA でも使える。) Spring Data JPA での集計の例 リポジトリにメソッドを定義して @Query アノテーション使うことで、JPQL (Java Persistence query language) によるクエリを記述できる。 これを用いて、例えば FooRepository に Foo に関する集計処理を記述できる。 @Query(value = """ SELECT NEW com.example.AggregationResult( FUNCTION('year', foo.date), COUNT(foo) ) FROM Foo foo L