Frage

Ich habe 2 Entitäten:Auto und Räder (oneToMany) und ich möchte wieder an meine Auto, mit der alle Räder und (dies ist der schwierige Teil) bestellt Rädern.Lage.Der folgende code löst eine Ausnahme mit der Meldung "illegalen Versuch zu dereferenzieren Sammlung."

Select c
  from Car
       LEFT JOIN FETCH c.wheels
order by c.wheels.location

Irgendeine Idee, wie dies zu tun, und wenn dies möglich ist, in HQL?

War es hilfreich?

Lösung

SELECT DISTINCT c
  FROM Car
       LEFT JOIN FETCH c.wheels AS wheels
ORDER BY wheels.location

Andere Tipps

Ich denke, dass Sie das Auto, um den alias in der from-Anfrage:

SELECT DISTINCT c
  FROM Car c
       LEFT JOIN FETCH c.wheels AS wheels
ORDER BY wheels.location

Unten ist ein Auszug aus der Hibernate-Dokumentation auf hql-Bestellung:

select cat from Cat cat
       join cat.kittens kitten
group by cat.id, cat.name, cat.other, cat.properties
having avg(kitten.weight) > 100
order by count(kitten) asc, sum(kitten.weight) desc

Hmm. Denken Sie benötigen einen Aliasnamen benutzen?

Select c from Car
       LEFT JOIN FETCH c.wheels wheel
order by wheel.location
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top