меня такая ситуация:Как использовать вложенные атрибуты вместе с атрибутами из класса в критериях с Grails?
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))
}
}
}
}
}
}
Вещи: часы являются атрибутом из определенного класса, класс, который имеет этот именованный запрос. А ставки - это список, вложенный в один из вложенных объектов в моем конкретном классе. Когда я пытаюсь использовать его там, я получаю:
java.lang.IllegalArgumentException: object is not an instance of declaring class
Как сослаться на часы атрибута с помощью этого имени запроса? Также еще один вопрос ... он вернет 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