JPA를 사용하여 서로 다른 열 집합에 여러 개의 고유 제약 조건이 있어야 함을 지정하는 방법이 있습니까?
@Entity
@Table(name="person",
uniqueConstraints=@UniqueConstraint(columnNames={"code", "uid"}))
public class Person {
// Unique on code and uid
public String code;
public String uid;
// Unique on username
public String username;
public String name;
public String email;
}
최대 절전 모드 특정 주석을 보았지만 여전히 최대 절전 모드와 데이터 핵 사이를 결정하고 있으므로 공급 업체별 솔루션을 피하려고합니다.
답변
@Table
의 속성은 uniqueConstraints
실제로 이들의 배열을 받아들입니다. 귀하의 예제는 단일 요소가있는 배열의 속기 일뿐입니다. 그렇지 않으면 다음과 같이 보일 것입니다.
@Table(name="person", uniqueConstraints={
@UniqueConstraint(columnNames={"code", "uid"}),
@UniqueConstraint(columnNames={"anotherField", "uid"})
})
고유 제약 조건이 하나의 필드 만 기반으로 할 때마다 @Column(unique=true)
해당 열에서 사용할 수 있습니다 .