私はこのような状況を持っている:GrailsでCriteriaのクラスの属性と一緒にネストされた属性を使用するには?
country {
and {
rates{
and{
between('effectiveDate', startDate, endDate)
or {
and {
eq('hoursEligible', true)
gt('hours', new BigDecimal(0))
}
and {
eq('travelTimeEligible', true)
gt('travel', new BigDecimal(0))
}
and {
eq('mileageEligible', true)
gt('mileage', new BigDecimal(0))
}
and {
eq('expensesEligible', true)
gt('expenses', new BigDecimal(0))
}
}
}
}
}
}
事がある:時間は、特定のクラスから属性、この名前付きクエリを持つクラスです。そしてratesは、特定のクラスのネストされたオブジェクトの1つにネストされたリストです。私はそこにそれを使用しようとすると 私が取得しています:
java.lang.IllegalArgumentException: object is not an instance of declaring class
は、どのように私はこの名前付きクエリを使用して、時間属性を参照しますか? さらにもう1つの質問...この条件でtrueを返すレートリストに項目がある場合はtrueを返します。
自分のドメインクラスです:私が持っている国の中へ
class TravelDetail {
Date date
Country country
BigDecimal hours
BigDecimal mileage
BigDecimal travel
BigDecimal expenses
:
class Country {
static hasMany = [rates: Rate
とレートに私が持っている:
class Rate {
Boolean hoursEligible = Boolean.TRUE
Boolean travelTimeEligible = Boolean.TRUE
Boolean mileageEligible = Boolean.TRUE
Boolean expensesEligible = Boolean.TRUE
は、あなたのドメインクラス – injecteer
@injecteerを表示しますそこにドメインの一部が追加されました。 – Igor