다음과 같은 방법으로 날짜를 전달하려고했지만 성공하지 못했습니다. dateAnswered는 날짜를 2017-09-13 00:00:00으로 저장하는 필드입니다. 내가 잘못 무엇입니까 곳Hibernate Named Query (HQL)을 사용하여 MYSQL의 Timestamp 필드에서 현재 날짜를 검색하는 방법은 무엇입니까?
누구는 말할 수 :
방법 1 : setParameter를을
@NamedQuery(name = "findAnswar", query = "SELECT a FROM Answar a WHERE (a.dateAnswered = :currentDate)"
Try 1:
super.em.createNamedQuery("findAnswar" , Answar .class).setParameter("currentDate", new Date()); //Not receive any data
Try 2:
Date date = new Date();
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
super.em.createNamedQuery("findAnswar" , Answar .class).setParameter("currentDate", date) //Not receive any data
방법 2 : 설정 붙박이 매개 변수
에도 유래의 이전 답변에서@NamedQuery(name = "findAnswar", query = "SELECT a FROM Answar a WHERE (a.dateAnswered = current_date())") //NOT WORKS
It works if i do add Temporal to getter:
@Column(name = "DATE_ANASWERED")
@Temporal(TemporalType.DATE)
public Date getDateAnswered() {
return dateAnswered ;
}
BUT IT GIVES another issue : Caused by: org.hibernate.HibernateException: Wrong column type in db.ANSWAR for column DATE_ANASWERED. Found: datetime, expected: date
@NamedQuery(name = "findAnswar", query = "SELECT a FROM Answar a WHERE (a.dateAnswered = current_date)") //NOT WORKS - JPA errors
내가 아니다 관련 솔루션을 찾을 수 있습니다. 누구든지 명명 된 쿼리만을 사용하여 동일한 문제를 해결할 수 있습니까?
첫 번째 예에서 표시되는 오류 메시지는 무엇입니까? – olegsv
@olegsv 아무런 데이터도받지 못했습니다 .. – Harpreet