我正在尝试执行HQL查询以在两个日期之间获取数据。查询似乎是正确的,但我无法得到结果。基本上我试图在两个日期之间获取交易。
我在Hibernate实体中使用TimeStamp进行transactionDate。
下面的日期对象来自java.util.Date
。
我在2016-07-01到2016-07-31之间查询
MySQL的数据库条目:
transactionId, academicYear, amount, isActive, period, periodicity, transactionDate, type, studentId
T000000001, 2015-16, 30000, 1, JUN-SEPT, Quarterly, 2016-07-03 11:19:06, Cash, SDT00000001
T000000002, 2015-16, 30000, 1, OCT-JAN, Quarterly, 2016-07-03 11:21:12, Cash, SDT00000001
T000000003, 2015-16, 3670, 1, July, Monthly, 2016-07-03 15:04:31, Cash, SDT00000002
查询:
Query query = session.createQuery("from FeesTransactions fs where fs.transactionDate>=:startDate AND "
+ "fs.transactionDate<=:endDate ORDER BY fs.transactionDate");
query.setParameter("startDate", new Date(TimeConversionHelper.getJodaDate(startDate, "yyyy-mm-dd").getMillis()));
query.setParameter("endDate", new Date(TimeConversionHelper.getJodaDate(endDate, "yyyy-mm-dd").getMillis()));
List<FeesTransactions> transactions = (List)query.list();
非常感谢任何支持。