GhostsInc: Hibernate vererbte Klassen mappen

Hi,

Auf anraten eines guten Freundes poste ich mal mein Problem hier. Vielleicht kennt jemand ja tatsächlich eine Lösung dazu.

Es geht um eine Java Applikation - Application Layer und nicht User Interface, also nicht JSP related - und zwar um das Mapping einer Oracle Datenbank mittels Hibernate.

Also ich habe ein Basis Objekt (Kontakt) das sich aus folgenden Tabellen zusammensetzt: KontaktID, Adresse, Telefon, Bankverbindung

Dieses Objekt via Annotations zu Mappen ist kein Problem!

Jetzt werden aus diesem Objekt 3 Klassen abgeleitet
KundenKontakt extends Kontakt
GeschäftsKontakt extends Kontakt
MandantenKontakt extends Kontakt

Diese Klassen prägen sich dadurch aus, dass zu den Kontakt Basis Informationen aus der Oberklasse in den Subklassen folgende Informationen hinzukommen:
Kundenkontakt = KundenKontaktID (1 zu n von Kontakt)
Geschäftskontakt = GeschäftsKontaktID (1 zu n von Kontakt)
MandantenKontakt = MandantenKontaktID (1 zu n von Kontakt)
Sprich ein Kontakt kann sich in allen 3 Subklassen beliebig oft ausprägen. Das scheint Hibernate aber nicht zu mögen, sondern möchte bei der Vererbung einen Eintrag zu den Datensätzen machen, die den genauen Typ (Subklassenname) identifizieren.

Hier stellt sich mir nun das Problem, wie ich dieses Problem richtig implementieren kann. Vererbung scheint mir der beste Weg zu sein, aber wie bekomme ich Hibernate dazu, das so zu machen? Anregungen, Ideen, Lösungen willkommen.

Gruß
Andreas