JPA实体类是否可以包含两个嵌入式(@Embedded
)字段?一个例子是:
@Entity
public class Person {
@Embedded
public Address home;
@Embedded
public Address work;
}
public class Address {
public String street;
...
}
在这种情况下,aPerson
可以包含两个Address
实例-家庭和工作。我在Hibernate的实现中使用JPA。当我使用Hibernate Tools生成架构时,它仅嵌入一个Address
。我想要的是两个嵌入式Address
实例,每个实例的列名都经过区分或以某些前缀(例如home和work)为前缀。我知道@AttributeOverrides
,但这要求每个属性都应单独覆盖。如果嵌入式对象(Address
)变大,则可能会很麻烦,因为每个列都需要单独覆盖。
name="street"
是指属性的名称,而不是列的名称。