日付プロパティを持つドメイン クラスがあります。
class Transaction {
LocalDate time
BigDecimal amount
}
月ごとにグループ化されたすべてのトランザクションの合計を照会するにはどうすればよいですか? GORM で日付範囲によるグループ化のサポートが見つかりません。
日付プロパティを持つドメイン クラスがあります。
class Transaction {
LocalDate time
BigDecimal amount
}
月ごとにグループ化されたすべてのトランザクションの合計を照会するにはどうすればよいですか? GORM で日付範囲によるグループ化のサポートが見つかりません。
切り捨てられた日付のドメイン クラスに数式ベースのフィールドを追加します。
class Transaction {
LocalTime time
BigDecimal amount
String timeMonth
static mapping = {
timeMonth formula: "FORMATDATETIME(time, 'yyyy-MM')" // h2 sql
//timeMonth formula: "DATE_FORMAT(time, '%Y-%m')" // mysql sql
}
}
次に、次のようなクエリを実行できます。
Transaction.withCriteria {
projections {
sum('amount')
groupProperty('timeMonth')
}
}