- DB 각 테이블은 고유한 PK를 가짐
- JPA 사용시 해당 기본 키를 엔티티에 매핑가능하다.
직접 할당
@Id
어노테이션만 사용하여 기본 키 직접 할당 가능
@Entity
public class Member {
@Id
@Column(name = "ID")
private String id;
}
데이터베이스 자동 생성 전략
- 항상 어플의 기본 키 값을 직접 할당하는 적인 비효율적일 수 있음
- 특히 높은 동시성 환경에서는 중복 키 충돌 위험이 있음.
- 데이터 베이스가 제공하는 자동 생성 기능을 활용하는 것이 좋음
데이터 베이스 기본 키 생성 전략..
- 직접 할당
- 어플리케이션에서 기본 키 할당
- IDENTITY
- 기본 키 생성을 데이터 베이스에 위임
- TABLE
- 키 생성 테이블 사용
@GeneratedValue
어노테이션을 사용하면 원하는 기본 키 생성 전략을 지정할 수 있다.
<property name="hibernate.id.new_generator_mappings" value="true" />
기본 키 생성 성능을 최적화하는 allocationSize 속성의 사용 방식도 변경
- persistence.xml 에 해당 속성을 추가해야함
Uploaded by N2T
'자바 > JPA' 카테고리의 다른 글
[6단원] 주 테이블에 외래키 (0) | 2023.11.04 |
---|---|
[6단원] 다대다 : 연결 엔티티 사용 (0) | 2023.11.04 |
[4단원] 기본 키 직접 할당 전략, IDENTITY 전략 (0) | 2023.11.01 |
[4단원] 기본키 - SEQUENCE 전략 (0) | 2023.11.01 |
[4단원] 기본키 - TABLE , AUTOINCREMENT 전략 (0) | 2023.11.01 |