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)

UNIQUE

uniqueConstraints 속성: DDL생성시에 유니크 제약조건 생성

@Table(name=MEMBER",uniqueContraints={@UniqueConstraint(
name="NAME_AGE_UNIQUE",
columnName={"NAME","AGE"})})