Hallo!
Ich arbeite mich seid gut zwei Wochen in Hibernate ein und bin über ein
Problem gestolpert, dass ich ohne Hibernate vorher nicht hatte. Und zwar
geht es um die Modellierung bzw. das Mapping dieser.
Vor Hibernate hätte ich bspw. eine Anschrift so in Java modelliert:
class Anschrift {
private String titel; private String anrede; private String name; private String nachname;
... getter/setter ...
}
Das dazu gehörige Schema wäre wie folgt modelliert worden:
table anschrift (
name: varchat; nachname: varchar;
titel_id: int; //FK anrede_id:int; //FK )
table title ( title_id: int ; //PK bezeichnung: varchar; )
table anrede ( anrede_id: int; //PK bezeichnung: varchar; )
Dies hätte ich aufgrund der Normalisierung des Schemas so gemacht. Anreden
und Titel gibt es nur begrenzt viele, sollte sich eine davon ändern, wäre
die Änderung in allen Anschriften vorhanden. Klassisches Datenbankdesign.
Mit meiner Anwendung hätte ich nun den entsprechenden Eintrag für den Titel
und der Anrede aus den Tabellen der Datenbank genommen und in mein Objekt
als String gespeichert. Damit halte ich mein Modell klein und übersichtlich.
Meine Frage ist nun, kann ich das auch so mit Hibernate oder muss ich
wirklich für den Titel und die Anrede neue Klassen anlegen? Meiner Meinung
nach wäre dies keine gute Modellierung oder sollte man dies in der Tat so
modellieren? Dann hätte ich allerdings bei vielen Datenmodellen einen extrem
großen Overhead, da mein Schema aus mindestens zwanzig solcher Konstrukte
besteht.
Vielen Dank erst einmal,
Danny
|