mschlegel
Erfahrenes Mitglied
Hallo miteinander.
Ich lese (besser gesagt google) mich gerade in JPA ein und zu einem Problem kann ich leider keine Information finden.
Ich habe eine Klasse Person und diese besitzt natürlich eine Adresse. In einigen Tutorials wurden die Annotationen @Embedable und @Embedded genutzt was aber nur dazu führt dass in der DB die Adresse als zusätzliche Spalten hinzugefügt wird. Ich möchte das ganze einigermaßen Normalisieren, soll heißen, die Adresse soll in einer eigenen Tabelle stehen. Dazu habe ich aus der dieser einfach eine Entität gemacht.
Jetzt würde ich natürlich noch gern die Postleitzahl/Stadt und den Länderkode/Landname normalisieren. Das ganze aber ohne dafür extra weitere Klassen als Entitäten anzulegen. Es müsste doch irgendeine Annotation geben mit der ich die sagen kann dass diese Attribute in eine extra Tabelle ausgelagert werden sollen (wobei plz und länderkode die schlüssel sind)?
Danke.
P.S. muss die Adresse überhaupt als @Entity markiert sein, oder geht das auch irgendwie anders (Denn eine Adresse existiert ja nicht allein in weiter Flur)?
Ich lese (besser gesagt google) mich gerade in JPA ein und zu einem Problem kann ich leider keine Information finden.
Ich habe eine Klasse Person und diese besitzt natürlich eine Adresse. In einigen Tutorials wurden die Annotationen @Embedable und @Embedded genutzt was aber nur dazu führt dass in der DB die Adresse als zusätzliche Spalten hinzugefügt wird. Ich möchte das ganze einigermaßen Normalisieren, soll heißen, die Adresse soll in einer eigenen Tabelle stehen. Dazu habe ich aus der dieser einfach eine Entität gemacht.
Java:
@Entity @Table(name = "Address")
public class Address {
private String street;
private String countryCode;
private String country;
private String zip;
private String city;
}
Danke.
P.S. muss die Adresse überhaupt als @Entity markiert sein, oder geht das auch irgendwie anders (Denn eine Adresse existiert ja nicht allein in weiter Flur)?