Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Criteria и Date


Автор: diablero 28.5.2008, 23:44
Нужну написать с помощь Criteria условие выборки по дате, но это еще пол беды. 
В базе дата представленна типом DateTime, а мне нужно чтобы выборка была по дате без времени. Как и можно ли такое сделать?

Автор: iluvatar 29.5.2008, 10:07
Это Hibernate? Тогда скорее пожходит в раздел j2ee. 
По сабжу - нужно сделать меппинг по формуле trunc(date). Обязательно включить ленивую загрузку для этого поля и использовать его для запросов.

Объясни для чего конкретно это нужно?

Автор: diablero 31.5.2008, 11:25
Нашел один вариант решения:
Код

criteria.add(Expression.sql("DATE_FORMAT(comment_date,'%d.%m.%Y')='"+date+"'"));


Цитата(iluvatar @  29.5.2008,  10:07 Найти цитируемый пост)
По сабжу - нужно сделать меппинг по формуле trunc(date).

Это чего и как?

Автор: iluvatar 3.6.2008, 16:24
Цитата(diablero @  31.5.2008,  12:25 Найти цитируемый пост)
Нашел один вариант решения:
criteria.add(Expression.sql("DATE_FORMAT(comment_date,'%d.%m.%Y')='"+date+"'"));

Можно и так, но я бы добавил еще одно поле в класс:
Код

Date date; // дата чего-то
Date day;  // день чего-то

и в меппинг:
Код

<property name="day" formula="trunc( date )"/>


....или что-то вроде этого.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)