DDL 생성 기능
- JPA 는 어플의 엔티티 구조를 바탕으로 DB 스키마를 자동으로 생성할 수 있는 기능을 제공한다.
- 개발자는 별도의 DDL을 작성할 필요 없이 어플의 도메인 모델만 관리하면 된다.
회원 이름에 대한 제약조건의 추가
- 회원의 이름 필수 입력
- 10자 초과 X 제약 조건 추가
@Entity
@Table(name="MEMBER")
public class Member {
@Id
@Column(name = "ID")
private String id;
@Column(name = "NAME", nullable = false, length = 10)
private String username;
}
- DDL
CREATE TABLE member
(
id VARCHAR(255) NOT NULL,
name VARCHAR(10) NOT NULL,
CONSTRAINT pk_member PRIMARY KEY (id)
);
유니크 제약조건의 추가
@Entity(name="Member")
@Table(name="MEMBER", uniqueConstraints = {@UniqueConstraint(
name = "NAME_AGE_UNIQUE",
columnNames = {"NAME", "AGE" }
)})
public class Member {
@Id
@Column(name = "id")
private String id;
@Column(name = "name")
private String username;
private Integer age;
}
uniqueConstraints
속성을 사용하면 유니크 제약조건을 추가 가능
ALTER TABLE MEMBER
ADD CONSTRAINT NAME_AGE_UNIQUE UNIQUE (NAME, AGE);
Hibernate: create table member (id varchar(255) not null, age integer, name varchar(255), primary key (id)) engine=InnoDB
Hibernate: alter table member add constraint NAME_AGE_UNIQUE unique (name, age)
- 테이블을 만드는 쿼리 → 제약조건 추가 순으로 이어진다.
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[JPA] 지연 로딩과 즉시 로딩 .. 무엇을 사용해야하나 (0) | 2023.11.04 |
---|---|
JPA 고급 매핑 (0) | 2023.11.04 |
[6단원] 주 테이블에 외래키 (0) | 2023.11.04 |
[6단원] 다대다 : 연결 엔티티 사용 (0) | 2023.11.04 |
[4단원] 기본 키 매핑 (0) | 2023.11.01 |