JPA는 좀 더 구체적인 설정으로 DB객체들에 대한 설정을 할 수 있다.특히,DDL 생성시 제약 조건을 추가 할 수 있다.엔티티만 보고도 손쉽게 다양한 제약조건을 파악할 수 있다는 장점이 있다.
NOT NULL
@Entity
@Table(name="Member")
public class Member {
@Id
@Column(name="ID")
private String id;
@Column(name="NAME",nullable=false,lenth=10)
private String username;
}
@ Column매핑 정보의 nullable 속성 값을 false로 지정하면 자동 생성되는 DDL은 not null제약 조건을 추가 할 수 있다
length 속성 값을 사용하면 자동 생성되는 DDL에 문자의 크기를 지정할 수 있다.
length=10 ——> varchar(10) 10바이트만을 의미 하지는 않으며 10자 까지 가능하다는 의미이다.(UTF-8)
생성된 sql
create table Member {
ID varchar(255) not null,
Name varchar(10) not null,
...
}
UNIQUE
uniqueConstraints 속성: DDL생성시에 유니크 제약조건 생성
@Table(name=MEMBER",uniqueContraints={@UniqueConstraint(
name="NAME_AGE_UNIQUE",
columnName={"NAME","AGE"})})