2016-09-14 9 views
1

모든 열을 개별적으로 언급하지 않고 javax.persistence 라이브러리의 포함 된 엔티티에 대해 고유 제한 조건을 적용 할 수 있습니까?임베디드 엔터티에 대한 고유 한 제약 조건은 무엇입니까?

내가 무엇을 가지고 :

@Table(uniqueConstraints = { @UniqueConstraint(columnNames = { "someReference", "id1", "id2" }) }) 
public class A { 
    @Embedded 
    private B embedded; 
    private String someReference; 
} 

@Embeddable 
public class B { 
    private long id1; 
    private long id2; 
} 

나는 (자세한 이하) 원하는 무엇 :

@Table(uniqueConstraints = { @UniqueConstraint(columnNames = {"someReference", "embedded" }) }) 

답변

0

없음합니다. 임베디드로 엔티티를 만들면 일반적으로 삽입 된 후에는 동일한 임베디드 오브젝트를 관계형 데이터베이스에 다시 저장하지 않는다는 것이 일반적으로 이해됩니다. 그러나 Embedded 객체의 속성 중 특정 조합 만 관계형 데이터베이스에 고유하게 사용하려는 유스 케이스가 발생할 수 있습니다.

문서 데이터 저장소의 경우 동일한 임베디드 개체를 스키마 내의 다른 문서에 포함시키는 것이 좋습니다.