Kann eine JPA-Entitätsklasse zwei embedded ( @Embedded) -Felder enthalten? Ein Beispiel wäre:
@Entity
public class Person {
@Embedded
public Address home;
@Embedded
public Address work;
}
public class Address {
public String street;
...
}
In diesem Fall Personkann a zwei AddressInstanzen enthalten - Heim und Arbeit. Ich verwende JPA mit der Implementierung von Hibernate. Wenn ich das Schema mit den Tools für den Ruhezustand generiere, wird nur eines eingebettet Address. Was ich möchte, sind zwei eingebettete AddressInstanzen, deren Spaltennamen unterschieden oder mit einem Präfix versehen sind (z. B. zu Hause und bei der Arbeit). Ich weiß @AttributeOverrides, aber dies erfordert, dass jedes Attribut einzeln überschrieben wird. Dies kann umständlich werden, wenn das eingebettete Objekt ( Address) groß wird, da jede Spalte einzeln überschrieben werden muss.
name="street"sich dies auf den Namen der Eigenschaft bezieht, nicht auf den Spaltennamen.