Ich habe versucht, Datum auf folgendem Weg zu übergeben, aber nicht erfolgreich. dateAnswered ist ein Feld, das das Datum als 2017-09-13 00:00:00 speichert.Wie aktuelles Datum im Timestamp-Feld von MYSQL mit Hibernate Named Query (HQL) suchen?
Kann mir jemand sagen, wo ich falsch bekommen bin:
Way 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
Way 2: Stellen eingebaute Parameter
@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
Auch in früheren Antworten von Stackoverflow ich bin nicht in der Lage, eine verwandte Lösung zu finden. Kann jemand helfen, das selbe nur mit Named Query zu beheben?
Welche Fehlermeldungen erhalten Sie im ersten Beispiel? – olegsv
@olegsv Keine Daten empfangen .. – Harpreet