我想将此 SQL 语句转换为等效的 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 ;
}
我做错了什么?谢谢。
最佳答案
尝试此查询(将 t.eventsDate
替换为 e.eventsDate
):
SELECT e FROM Events e WHERE e.eventsDate BETWEEN :startDate AND :endDate
关于java - JPQL SELECT 日期语句之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33869958/