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.eventsDate
为e.eventsDate
):
SELECT e FROM Events e WHERE e.eventsDate BETWEEN :startDate AND :endDate
Run Code Online (Sandbox Code Playgroud)