Benutze Hibernate 3.2
Habe eine Tabelle für eine Klassenhierarchie angelegt. Hier die 3 Klassen:
Ressource (abstrakt)
Raum (erbt von Ressource)
Gegenstand (erbt von Ressource)
Allerdings weis ich nicht wie ich auf die Werte des Discriminators zugreifen soll. Hier mal das Mapping:
Code:
<hibernate-mapping>
<class name="uebung9aPackage.Ressource" table="ressource" >
<!-- das ID-Feld der Tabelle "ressource" -->
<id name="id" column="id" type="long">
<generator class="native"/>
</id>
<discriminator column="disc" type="string" length="1"/>
<property name="name" column="name" type="string"/>
<subclass name="uebung9aPackage.Raum" discriminator-value="r">
<property name="gebaeude" column="gebaeude" type="string"/>
</subclass>
<subclass name="uebung9aPackage.Gegenstand" discriminator-value="g">
<property name="wert" column="wert" type="string"/>
</subclass>
</class>
</hibernate-mapping>
Kann mir jemand sagen wie ich diesen Discriminator in eine HQL oder Criteria-Abfrage einbauen kann? Ich würde gerne meine Ergebnisse anhand des Discriminator-Wertes auswerten lassen (also ob die Subklasse nun ein Raum oder ein Gegenstand ist).
Jemand ne Idee?