Как запросить дату в HQL (В спящем режиме) со Временем Joda?

Для связанного ноутбука или для тех с vi/vim привязками клавиш врезался в мозг, который я рекомендую ViEmu.

, Если Вы не попытались редактировать с vi привязками клавиш, вот то, почему можно хотеть попробовать ", Да ведь О, ДА ВЕДЬ сделайте те #?! nutheads используют vi?"

8
задан Pascal Thivent 30 April 2010 в 19:53
поделиться

2 ответа

Я не эксперт по 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 неявно преобразует их в даты.

7
ответ дан 5 December 2019 в 11:25
поделиться

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.

5
ответ дан 5 December 2019 в 11:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: