J'ai essayé de passer la date en utilisant la méthode suivante mais incapable de réussir. dateAnswered est un champ qui stocke la date comme 2017-09-13 00:00:00.Comment rechercher la date actuelle dans le champ Horodatage de MYSQL en utilisant Hibernate Named Query (HQL)?
Quelqu'un peut-il dire où je reçois mal:
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: Définir les paramètres encastrables
@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
Même dans les réponses précédentes de Stackoverflow je ne suis pas capable de trouver toute solution connexe. Quelqu'un peut-il aider à corriger la même chose en utilisant seulement Named Query?
Quels messages d'erreur obtenez-vous dans le premier exemple? – olegsv
@olegsv Pas de réception de données .. – Harpreet