Hallo,
ich arbeite mit Hibernate und stehe vor folgendem Problem (übertragen von der echten Anforderung auf dieses analoge Szenario):
Zu einer Person gibt es eine Menge von Ereignissen, also eine n:1-Beziehung.
Oft werden nicht alle Ereignisse einer Person benötigt, sondern nur das aktuellste. Durch diese Referenz müssen nicht immer die alle Ereignisse geladen werden.
Die Person-Tabelle hält eine Spalte "Akt_Ereignis", die die ID des jeweils aktuellsten Ereignisses einer Person hält. Diese Spalte wird durch einen Trigger aktualisiert.
Schema:
Person
-----------------------------------------------------------
id | Vorname | Nachname | Geb_datum | Akt_Ereignis
Ereignis
-----------------------------------------------------------------------------------
id | Datum | Beschreibung | Pers_Vorname | Pers_Nachname | Pers_Geb_datum
Weitere Anmerkung:
Der Verweis eines Ereignisses auf die zugehörige Person ist nun nicht die ID der Person, sondern wird hergeleitet aus einer Kombination von Vornamen, Nachname und Geb.datum der Person (die drei Felder "Pers_Vorname", "Pers_Nachname", "Pers_Geb_datum" bilden einen Unique-Key auf der Person-Tabelle - dies kann ich leider auch nicht anpassen).
Ich weiß nun nicht, wie ich dies mit Hibernate umsetzen kann. Ich habe ja zwei Beziehungen zwischen den Klassen: ein Mal eine 1:1 Beziehung (Person zum aktuellsten Ereignis) und eine 1:n Beziehung (Person zu n Ereignissen).
Die 1:1-Beziehung konnte ich bisher nicht umsetzen. Ich habe einen ähnlichen Fall unter http://www.onjava.com/pub/a/onjava/2005/08/03/hibernate.html?page=4 entdeckt.
Hat da jemand eine Idee, wie ich diese beiden Beziehungen modelliert bekomme?
Gruß
Jan
ich arbeite mit Hibernate und stehe vor folgendem Problem (übertragen von der echten Anforderung auf dieses analoge Szenario):
Zu einer Person gibt es eine Menge von Ereignissen, also eine n:1-Beziehung.
Oft werden nicht alle Ereignisse einer Person benötigt, sondern nur das aktuellste. Durch diese Referenz müssen nicht immer die alle Ereignisse geladen werden.
Die Person-Tabelle hält eine Spalte "Akt_Ereignis", die die ID des jeweils aktuellsten Ereignisses einer Person hält. Diese Spalte wird durch einen Trigger aktualisiert.
Schema:
Person
-----------------------------------------------------------
id | Vorname | Nachname | Geb_datum | Akt_Ereignis
Ereignis
-----------------------------------------------------------------------------------
id | Datum | Beschreibung | Pers_Vorname | Pers_Nachname | Pers_Geb_datum
Weitere Anmerkung:
Der Verweis eines Ereignisses auf die zugehörige Person ist nun nicht die ID der Person, sondern wird hergeleitet aus einer Kombination von Vornamen, Nachname und Geb.datum der Person (die drei Felder "Pers_Vorname", "Pers_Nachname", "Pers_Geb_datum" bilden einen Unique-Key auf der Person-Tabelle - dies kann ich leider auch nicht anpassen).
Ich weiß nun nicht, wie ich dies mit Hibernate umsetzen kann. Ich habe ja zwei Beziehungen zwischen den Klassen: ein Mal eine 1:1 Beziehung (Person zum aktuellsten Ereignis) und eine 1:n Beziehung (Person zu n Ereignissen).
Die 1:1-Beziehung konnte ich bisher nicht umsetzen. Ich habe einen ähnlichen Fall unter http://www.onjava.com/pub/a/onjava/2005/08/03/hibernate.html?page=4 entdeckt.
Hat da jemand eine Idee, wie ich diese beiden Beziehungen modelliert bekomme?
Gruß
Jan