Я использую Grails 3.3 и GORM CriteriaBuilder для большинства моих запросов в эти дни, но я застрял в том, как вызывать функции для свойств - например, вызывая функцию hour () для свойства Date.Если бы я использовал где DetachedCriteria, у меня могло бы быть что-то вроде этого:
def whereQuery = Student.where {
hour(registration) = 15
}
, чтобы найти всех студентов, которые зарегистрировались между 15:00 и 15: 59.
Однако, если я использую CriteriaBuilderвместо этого я не могу сделать это:
def c = Student.createCriteria()
def results = c.list {
eq 'hour(registration)', 15
}
Есть ли способ выполнить это в DSL-сборке?Я знаю, что могу вернуться к классу домена и определить отображение, которое извлекает час из поля даты, но это выглядит неуклюже.