[英]JPQL Date between interval
我的錯誤在哪里?
SELECT m FROM Message m WHERE m.tabId = :idTab AND BETWEEN :startDate AND :endDate ORDER BY m.id DESC
我有這個錯誤:
Exception Description: Syntax error parsing the query ... , line 1, column 63: unexpected token [BETWEEN].
Internal Exception: NoViableAltException(11@[634:7: (n= NOT )?])
在我的Java代碼中,我有:
// Exception line
Query query = em.createQuery(queryBuilder.toString());
////
query.setParameter("idTab", idTablet);
if (limit > 0) {
query.setMaxResults(limit);
}
if (dateFrom != null) {
query.setParameter("startDate", dateFrom, TemporalType.DATE);
if (dateTo == null) {
dateTo = new Date();
}
query.setParameter("endDate", dateTo, TemporalType.DATE);
}
messages = (List<MessageEntity>) query.getResultList();
您沒有選擇任何字段,並且缺少用於日期比較的字段。 嘗試-
SELECT m.*
FROM Message m
WHERE m.tabId = :idTab
AND date_field BETWEEN :startDate AND :endDate
ORDER BY m.id DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.