Для связанного ноутбука или для тех с vi/vim привязками клавиш врезался в мозг, который я рекомендую ViEmu.
, Если Вы не попытались редактировать с vi привязками клавиш, вот то, почему можно хотеть попробовать ", Да ведь О, ДА ВЕДЬ сделайте те #?! nutheads используют vi?"
Я не эксперт по Grails, но в java вы обычно делаете date1
и date2
параметры запроса и свяжите их как таковые:
String hql = "select * from Book as b where b.releaseDate > :date1 and b.releaseDate < :date2";
session.createQuery(hql).setDate("date1", date1).setDate("date2", date2).list();
Я уверен, что вы можете сделать что-то подобное в Grails. Если нет, отформатируйте даты как yyyyMMddhhmmss
(без пробелов) и заключите их в одинарные кавычки - так Hibernate будет рассматривать их как константы, а MySQL неявно преобразует их в даты.
I pointed out by ChssPly, you should declare date1
and date2
as query parameters (positional or named) and then bind them. Here, we'll use named parameters. The usual way to pass named query parameters with Grails is via a Map
:
def queryStr = "from Book b where b.releaseDate > :date1 and b.releaseDate < :date2"
Book.executeQuery(queryStr, [date1: date1, date2: date2])
Check executeQuery()
documentation for the syntax details of both options.