Frage

In meinem Domain-Modell Ich habe eine abstrakte Klasse CommunicationChannelSpecification, die Kind-Klassen wie FTPChannelSpecification, EMailChannelSpecification und WebserviceChannelSpecification hat. Jetzt möchte ich eine HQL-Abfrage erstellen, die enthält eine where-Klausel, die das Ergebnis auf bestimmte Arten von Kanalspezifikationen einengt. Z.B. (In einfachem Englisch) wählen Sie alle CommunicationChannelSpecifications dass deren Typen auftreten in der Menge {FTPChannelSpecification, WebserviceChannelSpecification}.

Wie kann dies in HQL erreicht werden? Ich verwende NHibernate 2.0.1 und eine Tabelle pro Unterklasse Vererbung Mapping-Strategie ...

Danke!

Pascal

War es hilfreich?

Lösung

Nicht positiv in NHibernate, aber in dem Ruhezustand, gibt es zwei spezielle Eigenschaften, die ID und Klasse immer referenziert werden. Also, für Ihren speziellen Fall, würde ich tun

from CommunicationChannelSpecifications spec where spec.class in (?)

Andere Tipps

NHibernate unterstützt die gleiche Syntax wie Hibernate in diesem Fall. Siehe hier für ein Beispiel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top