отображение дат в спящем режиме и mysql - PullRequest
0 голосов
/ 07 февраля 2012

У нас есть приложение, в котором мы используем hibernate с mysql db.

У нас есть сценарий db import.sql, в который есть некоторые вставки в операторы, а также некоторые поля даты в db, такие как start_date end_date вчто мы являемся строковыми датами в формате по умолчанию, то есть ГГГГ-ММ-ДД.

Теперь проблема заключается в том, что во время получения / сравнения дат гибернат показывает странное поведение, например, предположим, что у нас есть дата 2012-01-30, то hibernate читает в правильном формате, то есть 30 января 2012 года, но если у нас есть дата, подобная 2012-02-06, то hibernate читает как 02 июня 2012 года. Мой DAO для сравнения и получения результатов выглядит следующим образом

public final List<Record> getPastRecords(final java.util.Date currentDate) {
List<Record> pastRecord =  session.createCriteria(Record.class)
    .add(Restrictions.lt("endTime", currentDate))
    .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
return pastRecord;
}

Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 07 февраля 2012

без подробного объяснения кода угадать, в чем может быть проблема возможно, из-за java.util.Date попытайтесь использовать java.sql.Date, так как при вызове методов / конструкторов библиотек, которые имеют дело с базой данных, лучше использовать оболочку java.util.Date, которая является java.sql.Date.

см. http://www.theresearchkitchen.com/archives/58

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...