Я уверен, что кто-то, знакомый с HQL (я сам новичок), может легко ответить на этот вопрос.
В моем приложении Grails есть следующий класс домена.
class Book {
org.joda.time.DateTime releaseDate //I use the PersistentDateTime for persisting via Hibernate (that use a DATETIME type for MySQL DB)
}
В моем HQL-запросе я хочу получить книги, дата выпуска которых включена в диапазон date1
.. date2
Например, я пытался:
DateTime date1, date2
...
def queryStr = "select * from Book as b where b.releaseDate > $date1 and b.releaseDate < $date2"
def res = Book.executeQuery(queryStr)
Но я получил исключение ...caused by: org.springframework.orm.hibernate3.HibernateQueryException: unexpected token:
Токен ошибки указывает на формат даты (например, 2009-11-27T21:57:18.010+01:00
или Fri Nov 27 22:01:20 CET 2009
)
Я также безуспешно пытался преобразовать date1 в класс Date
Так, каков правильный код HQL? Должен ли я конвертировать в определенный формат (какой?), Используя метод patternForStyle, или есть другой способ очистки?
Спасибо
Фабьен.