JPA 2.0 で、埋め込みオブジェクトが複数ではなく 1 つのオブジェクトだけに埋め込まれていることを保証する可能性はありますか?
私の場合、Address
に割り当てることができる がありCustomer
ます。すべての顧客に独自のアドレス オブジェクトを使用してもらい、2 人の顧客が実際に同じオブジェクトを共有しないようにする制約を作成したいと考えています。
私のコードは次のようになります。
@Entity
public Customer {
@Id
@GeneratedValue
private Long id;
@Embedded
private Address address;
// ..
}
@Embeddable
public Address {
private String street;
private String city;
// ..
}
現在、2 人の顧客を作成して同じオブジェクトを割り当てAddress
、永続化して読み取ると、再び同じ ID でオブジェクトを共有します。他のお客様と住所を共有しているお客様の保存を禁止したい。