日期声明之间的JPQL SELECT

Mam*_*dou 39 java sql jpa jpql

我想将此SQL语句转换为JPQL等效项.

SELECT * FROM events
WHERE events_date BETWEEN '2011-01-01' AND '2011-03-31';
Run Code Online (Sandbox Code Playgroud)

这正确地从表中检索信息events.

在我的Events实体

   @Column(name = "events_date")  
   @Temporal(TemporalType.DATE)  
   private Date eventsDate;
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我所拥有的,但它不起作用.

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 ;  
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?谢谢.

Mat*_*ndy 78

试试这个查询(替换t.eventsDatee.eventsDate):

SELECT e FROM Events e WHERE e.eventsDate BETWEEN :startDate AND :endDate
Run Code Online (Sandbox Code Playgroud)