HQL-запрос для выбора данных между двумя датами без возврата какой-либо записи - PullRequest
0 голосов
/ 12 февраля 2020

ReportView

enter image description here

Я получаю значения Dates из объектов JavaFX DatePicker tDateFrom, tDateTo.

Я пробовал,

(1)

List list = session.createQuery("from ReportView where date between :stDate and :edDate")
                    .setTimestamp("stDate", Date.from(Instant.from(tDateFrom.getValue().atStartOfDay(ZoneId.systemDefault()))))
                    .setTimestamp("edDate", Date.from(Instant.from(tDateTo.getValue().atStartOfDay(ZoneId.systemDefault()))))
                    .list();

(2)

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date frmDate = format.parse(tDateFrom.getValue().toString());
Date enDate = format.parse(tDateTo.getValue().toString()); 

list = session.createQuery("from ReportView where date between :stDate and :edDate")
               .setTimestamp("stDate", frmDate)
               .setTimestamp("edDate", enDate)
               .list();

Оба метода не возвращают ни одной строки.

java.text.ParseException: Unparseable date: "2020-02-03"
    at java.text.DateFormat.parse(DateFormat.java:366)

Я пытался запустить запрос, как упоминалось в ответе на этот вопрос: mysql выберите запрос, где дата = ... не возвращает данные

Но этот запрос работает в mySQL, не в HQL. Как использовать предложение между датами в HQL?

...