기본 키 Primary Key 매핑
1. 기본 키 직접 할당
JPA에서 @Id
어노테이션을 사용해 엔티티의 기본 키를 지정할 수 있습니다.
기본 키를 직접 할당하는 방식은 어플 로직에서 기본 키 값을 지정해주는 방식입니다.
예제
@Entity
public class Member {
@Id
@Column(name = "ID")
private String id;
// ...
}
2. 데이터베이스 자동 생성 키 사용
데이터베이스 기능, 예를 들어 오라클의 시퀀스 오브젝트나 MySQL의 AUTO_INCREMENT 기능을 사용해 자동으로 기본 키 값을 생성할 수 있습니다.
3. JPA의 기본 키 생성 전략
- 직접 할당
- 애플리케이션에서 기본 키를 직접 할당
- IDENTITY
- 데이터베이스에 기본 키 생성을
위임
,각 DBMS의 자동 증가 칼럼 사용
- 데이터베이스에 기본 키 생성을
- SEQUENCE
데이터베이스의 시퀀스 오브젝트
를 사용해 기본 키를 할당
- TABLE
키 생성을 위한 별도의 테이블을 사용
, 모든 DBMS에서 사용 가능
4. @GeneratedValue 어노테이션
기본 키를 자동으로 생성하려면, @Id
어노테이션과 함께 @GeneratedValue
어노테이션을 사용하고, 원하는 키 생성 전략을 선택합니다.
주의사항
하이버네이트 사용 시, hibernate.id.new_generator_mappings
속성을 true
로 설정해야 합니다.
이 옵션은 하이버네이트의 새로운 키 생성 전략을 활성화합니다.
예제
<property name="hibernate.id.new_generator_mappings" value="true" />
기본 키 생성 전략 사용 예
예제
@Entity
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Long id;
// ...
}
여기서, @GeneratedValue
어노테이션과 strategy
속성을 사용해 원하는 키 생성 전략을 지정할 수 있습니다.
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[4단원] @Table (0) | 2023.10.22 |
---|---|
[4단원] 데이터베이스 스키마 자동 생성 (0) | 2023.10.22 |
[4단원] DDL 생성 기능과 제약조건 (0) | 2023.10.22 |
[4단원] 기본 키 직접 할당 전략 (0) | 2023.10.22 |
[4단원] @Entity (0) | 2023.10.22 |