Java NamedQuery und Datum als parameter

Habe ich einfach @NamedQuery in Entity:

@NamedQueries({
        @NamedQuery(name = ProductChangeLog.GetByDate, query = "From ProductChangeLog where date = :date ")
})

Datum ist ein Datum.sql

Und ich möchte diese Abfrage ausführen:

List<ProductChangeLog> productChangeLogs = session.getNamedQuery(ProductChangeLog.GetByDate)
            .setString("date", date)
            .list();

Mein problem ist, dass diese @NamedQuery produzieren Abfrage:

Hibernate: select productcha0_.id as id21_, productcha0_.availible as availible21_, productcha0_.category as category21_, productcha0_.date as date21_, productcha0_.description as descript5_21_, productcha0_.name as name21_, productcha0_.partnerId as partnerId21_, productcha0_.price as price21_, productcha0_.producent as producent21_, productcha0_.productId as productId21_, productcha0_.productUrl as productUrl21_, productcha0_.status as status21_ from ProductChangeLog productcha0_ where productcha0_.date=2014-01-20

... Und diese Abfrage ist falsch, cose Datum sollte in "", wie dieser: productcha0_.Datum="2014-01-20"

Was soll ich tun ?

Habe ich versucht,

.setDate("date", date)


.setParameter("date", date)

und Schweller nicht funktioniert.

  • Könnte u post alle stack-trace? U miss SELECT key-word-in-Abfrage?
  • Es ist HQL, ich habe nicht auf hinzufügen, WÄHLEN Sie.
  • Es gibt keine stack - trace- ich habe keine Ergebnisse für diese Abfrage.
  • was ist der Datentyp von Datums-variable ?
  • wenn ProductChangeLog Tabelle Datum eingereicht datetime ist, dann müssen Sie pass date-Objekt
  • seine ein Datum-Feld, nicht datetime

InformationsquelleAutor Ilkar | 2014-01-21
Schreibe einen Kommentar