JPA спящая дата между выпуском запроса - PullRequest
0 голосов
/ 11 августа 2011

В моем приложении я использую менеджер сущностей JPA для сохранения данных / выборки данных.

em.executeQuery("select * from file_calender_mapping where start_date between :start and :end");

em.setParameter ("start", startDate) // startDate - это объект даты

em.setParameter ("end", endDate) // endDate - объект даты

List fmlist = em.execute ();

Проблема такая,

"select * from file_calender_mapping where start_date between start and end"

когда я передаю некоторую дату в виде start = "2011-08-03 05:08:00" и end = "2011-08-04 06:08:00" тогда mysql возвращает одну строку, имеющую время начала = "2011-08-03 05:30:00", это хорошо, но когда мое приложение выполняет такой запрос, оно не возвращает ни одной строки. На самом деле то, что я видел, что мое приложение возвращает значение для двух разных дат, но не для одной и той же даты в другое время, вот основная проблема. Еще одна вещь - это мое поле «start» для таблицы «file_calender_mapping», тип данных «timestamp».

Так что я думал, что может быть какая-то проблема на JPA / Hibernate

Ответы [ 2 ]

3 голосов
/ 11 августа 2011

Вы можете попытаться указать точные типы параметров следующим образом:

em.setParameter("start", startDate, TemporalType.TIMESTAMP);
em.setParameter("end",endDate, TemporalType.TIMESTAMP);
0 голосов
/ 11 августа 2011

У меня сильное чувство, что вы путаете EntityManager.createQuery () с EntityManager.createNativeQuery (), и вы каким-то образом захватываете все исключения, что почему-то заставляет вас ничего не получать обратно.* Я предполагаю, что, поскольку я не думаю, что у вас есть класс с именем file_calender_mapping.

edit

Документация объяснит это лучше, чем я, нозапрос JPA QL преобразуется в navite sql БД с использованием сопоставления, а собственный запрос отправляется по мере поступления в БД.Опять же, я предлагаю вам прочитать документацию, это весьма полезно.

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