Doppelte Datenbankeinträge vermeiden mit JPA

unclesunshin

Grünschnabel
Hallo,

ich habe ein wenig mit J2EE rum gespielt und habe da jetzt mal ne Frage. Also kurz zum Szenario.

Ich habe eine Entity-Klasse für Person und eine für Anschrift. In Anschrift stehen halt Straße, Hausnummer usw.. Über ein Formular können Personen eingetragen werden. Wenn ich nun aber eine Person eingebe die im gleichen Haus wohnt, wie eine bereit eingetragen Person, dann legt er mir den gleichen Eintrag nochmal an. Ich habe also redundante Daten in der Datenbank.

Muss ich nun bevor ich eine Person "persiste" erst eine Abfrage machen, ob es die Anschrift schon gibt? Aber da wird man ja doof bei und ist ja auch nicht gerade performant.

Hat da jemand vielleicht einen Rat?
 
Also einmal kannst du mit "unique" in deinem Entity Objekt sagen (mit @Column Annotaion) welche Spalten einzigartig sein sollen. Dann würde beim persisten eine Exception fliegen die du dann behandeln kannst.

Als zweite Möglichkeit könntest du dir überlegen die Adresse in ein eigenes Objekt, sprich eine eigene Tabelle, auslagern...
 
Das macht in dem Fall keinen Sinn. Angenommen du ürdest das so modellieren (1 Adressinstanz für 2 Personen). Was wenn dann eine Person umzieht und sich die Adresse ändert? "Muss" dann Person 2 mit umziehen?

Gruß
Ollie
 
Zurück