HQL(hibernate) timestamp-Bereich übereinstimmen
Ich muss eine Abfrage schreiben, um ein Objekt zwischen eine Reihe von Zeit, die derzeit die Abfrage sieht wie folgt aus:
Timestamp from = ...
Timestamp to = ...
getHibernateTemplate().find("from " + Person.class.getName() + " ml where ml.lastModifiedOn>="+from.toString()+" and m1.lastModifiedOn<=" + to.toString());
Jedoch, diese doesnot Arbeit aus offensichtlichen Gründen. Wie kann ich das format des Zeitstempels akzeptabel sein, die von der Abfrage.
org.springframework.orm.hibernate3.HibernateQueryException: unexpected token: 16 in Zeile 1, Spalte 123 [von der Person ml, wo ml.lastModifiedOn>=2010-02-12 16:00:21.292 und m1.lastModifiedOn
versuchen yyyy-MM-dd HH:MM:SS
funktioniert nicht. .
funktioniert nicht. .
InformationsquelleAutor Saky | 2010-05-19
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fehlenden Anführungszeichen in Ihrem aktuellen Abfrage. Folgendes sollte funktionieren:
Hinweis, dass ich nicht weiß, warum Sie nicht vorbei
Date
Instanzen der folgenden Abfrage:Sind Sie mit
java.sql.Timestamp
hier? Wenn ja, solltest du nicht.InformationsquelleAutor Pascal Thivent
Können Sie übergeben Sie einfach einen
long
(from.getTime()
) im Vergleich, wenn es vertreten wird, so lange in der DB.Sonst können Sie diese functiomns:
second(...), minute(...), hour(...), day(...), month(...), and year(...)
InformationsquelleAutor Bozho
Wie wäre es mit etwas wie das?
InformationsquelleAutor limc
Wenn Sie möchten, um eine Abfrage nach etwas zwischen können Sie Folgendes tun:
Müssen Sie möglicherweise ändern
TemporalType.DATE
zu was auch immer Sie verwendenInformationsquelleAutor Shervin Asgari