3 Stimmen

Wie verwendet man join in einer HQL-Aktualisierung?

Ich weiß, wie man Tabellen in einer SQL-Aktualisierung verbindet, aber wie mache ich das in HQL?

Lange Geschichte: Ich habe Artikel, die ich in einem Lauf bearbeite. Jeder Lauf hat eine ID und ich habe eine Many-to-many-Beziehung zwischen Artikeln und Läufen (die in einer zusätzlichen Tabelle steht).

Nun möchte ich den Status aller in einem bestimmten Lauf verwendeten Elemente festlegen. Der naive Ansatz sieht wie folgt aus:

update Items item
set item.statue = :done
where item.state = :new
  and :run in item.runs

Die letzte Zeile funktioniert nicht. Hibernate kann die Tasche mit runs nicht in etwas umwandeln, das in einer where-Klausel verwendet werden kann. Was ist die Lösung?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X