복붙노트

[SQL] 일 문 사이 JPQL SELECT [폐쇄]

SQL

일 문 사이 JPQL SELECT [폐쇄]

나는 JPQL에 해당이 SQL 문을 변환하고 싶습니다.

SELECT * FROM events
WHERE events_date BETWEEN '2011-01-01' AND '2011-03-31';

이 올바르게 테이블 이벤트에서 정보를 검색합니다.

내 이벤트 엔티티에서

   @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 ;  
}

내가 무엇을 잘못하고 있지? 감사.

해결법

  1. ==============================

    1.이 쿼리를 (e.eventsDate와 t.eventsDate 교체)보십시오 :

    이 쿼리를 (e.eventsDate와 t.eventsDate 교체)보십시오 :

    SELECT e FROM Events e WHERE e.eventsDate BETWEEN :startDate AND :endDate
    
  2. ==============================

    2.

    public List<Student> findStudentByReports(Date startDate, Date endDate) {
        System.out.println("call findStudentMethd******************with this pattern"
                        + startDate
                        + endDate
                        + "*********************************************");
    
        return em
                .createQuery(
                        "' select attendence from Attendence attendence where attendence.admissionDate BETWEEN : startDate '' AND endDate ''"
                                + "'")
                .setParameter("startDate", startDate, TemporalType.DATE)
                .setParameter("endDate", endDate, TemporalType.DATE)
                .getResultList();
    
    }
    
  3. from https://stackoverflow.com/questions/5350994/jpql-select-between-date-statement by cc-by-sa and MIT license