JPA 2.0 中是否有可能确保嵌入对象仅嵌入一个对象,而不是多个对象?
就我而言Address
,我有一个可以分配给Customer
. 我希望每个客户都使用自己的地址对象,并希望创建一个约束来确保没有两个客户共享实际相同的对象。
我的代码如下所示:
@Entity
public Customer {
@Id
@GeneratedValue
private Long id;
@Embedded
private Address address;
// ..
}
@Embeddable
public Address {
private String street;
private String city;
// ..
}
目前,如果我创建两个客户并为他们分配相同的Address
对象,然后持久化并读取它们,他们再次以相同的身份共享对象。我想禁止保存与其他客户共享地址的此类客户。