誰かが拡張エンティティの列名をオーバーライドする適切な方法を設定するのを手伝ってくれませんか?
埋め込み可能:
@Embedable
Email
@Column(name = "email_adress")
private string email;
親エンティティ:
@Entity
AddressBook
@Embedded
@AttributeOverrides( {
@AttributeOverride(name="email", column = @Column(name="email_address") )
} )
private Email email
拡張エンティティ:
@Entity
@AttributeOverrides( {
@AttributeOverride(name="email", column = @Column(name="home_email") )
} )
DeluxAddressBook extends AddressBook
@Embeded
@AttributeOverrides( {
@AttributeOverride(name="email", column = @Column(name="work_email") )
} )
private Email workEmail;
最後のエンティティでは、workEmail を「work_email」列にマップしますが、これは問題ありませんが、home_email は、組み込み可能で最初に定義された列「email_address」にマップされます。「home_email」列にマップする必要があります。
私は成功せずに試しました:
@AttributeOverride(name="email.email", column = @Column(name="home_email") )
助けてくれてありがとう、ジェス