2011-01-11 3 views
4

Meine Situation wie diese ist .. (Hinweis: für diejenigen, die mit JBPM arbeiten könnte bereits mit folgenden Datenstrukturen und HB-Mapping)zu bestimmten Klasse in HQL Casting

Klasse LongInstance von VariableInstance erstreckt, wobei die Zuordnung für Feld "Wert" in LongInstance überschrieben. Das Mapping für VariableInstance ist here und für LongInstance here.

VariableInstance ist in TokenVariableMap einer Auflistung polymorph zugeordnet, die Zuordnung lautet here.

Die Frage: Wie kann ich die polymorphe Auflistung mit spezifischen/überschriebenen Eigenschaft der Member-Klasse abfragen?

Ich bin auf der Suche nach so etwas wie diese "... von TokenVariableMaps TVM verbinden links holen tvm.variableInstances tvi wo cast (TVI als LongInstance) .value in (Vars)"

Antwort

1

Warum nicht :

.. from TokenVariableMaps tvm, LongInstance li 
where tvm.variableInstances = li 
and ... 
1

HQL unterstützt den Laufzeitunterscheider:

select c from AnyClass where c.class = com.pack.SubClass

+1

Es ist wirklich funktioniert. –