JPAエンティティクラスに2つの埋め込み(@Embedded
)フィールドを含めることは可能ですか?例は次のとおりです。
@Entity
public class Person {
@Embedded
public Address home;
@Embedded
public Address work;
}
public class Address {
public String street;
...
}
この場合、aにPerson
はAddress
自宅と職場の2つのインスタンスを含めることができます。Hibernateの実装でJPAを使用しています。Hibernate Toolsを使用してスキーマを生成すると、1つしか埋め込まれませんAddress
。私が欲しいのは、2つの埋め込みAddress
インスタンスで、それぞれの列名が区別されるか、接頭辞(自宅や職場など)が前に付けられます。私は知っていますが@AttributeOverrides
、これには各属性を個別にオーバーライドする必要があります。Address
各列を個別にオーバーライドする必要があるため、埋め込みオブジェクト()が大きくなると、これは面倒になる可能性があります。
name="street"
これは、列名ではなく、プロパティの名前を参照していることに注意してください。