29
我想將此SQL語句轉換爲JPQL等效項。JPQL在日期聲明之間選擇
SELECT * FROM events
WHERE events_date BETWEEN '2011-01-01' AND '2011-03-31';
這正確地從表events
檢索信息。
在我Events
實體
@Column(name = "events_date")
@Temporal(TemporalType.DATE)
private Date eventsDate;
到目前爲止,這是我,但它無法正常工作。
public List<Events> findAllEvents(Date startDate, Date endDate) {
List<Events> allEvents = entityManager.createQuery(
"SELECT e FROM Events e WHERE t.eventsDate BETWEEN :startDate AND :endDate")
.setParameter("startDate", startDate, TemporalType.DATE)
.setParameter("endDate", endDate, TemporalType.DATE)
.getResultList();
return allEvents ;
}
我在做什麼錯?謝謝。
我沒有得到這個查詢是如何從查詢有問題不同。另外,endDate之前不應該有
:
?爲什麼在startDate和end endDate之後有兩個單引號? – Ievgen 2015-04-01 08:32:09