JPQL Abfrage mit WHERE auf geschachtelte Felder

Ich habe ein java-entity-Klasse UserBean mit einer Liste von Ereignissen:

@OneToMany
private List<EventBean> events;

EventBean hat die Date-variable:

@Temporal(javax.persistence.TemporalType.TIMESTAMP)
private Date eventDate;

Nun in der UserBean ich möchte erstellen Sie eine NamedQuery, dass alle Daten zurückgibt, die fallen in einem bestimmten Bereich:

@NamedQuery(name="User.findEventsWithinDates",
            query="SELECT u.events FROM UserBean u WHERE u.name = :name AND u.events.eventDate > :startDate AND u.events.eventDate < :endDate")

Obige Abfrage nicht kompiliert wenn. Ich bekomme diese Fehlermeldung:

The state field path 'u.events.eventDate' cannot be resolved to a valid type.

Übrigens, ich benutze EclipseLink version 2.5.0.v20130507-3faac2b.

Was kann ich tun, damit diese Abfrage funktioniert? Danke.

InformationsquelleAutor user473453 | 2013-09-09
Schreibe einen Kommentar