2
有人可以帮助我设置正确的方式来覆盖扩展实体中的列名称。jpa AttributeOverride在多个嵌入的属性
Embedeable:
@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”列。
我试图W/O型成功:
@AttributeOverride(name="email.email", column = @Column(name="home_email"))
感谢您的帮助, 杰斯
当我做你建议我得到一个org.hibernate.MappingException:实体映射中的重复列:... server.model.DeluxAddressBook列:email_address。这只是我尝试过的一个优秀游戏。我们周围的工作是创建单独的实体。 – jessarah