[4단원] 기본 키 매핑

  • DB 각 테이블은 고유한 PK를 가짐
  • JPA 사용시 해당 기본 키를 엔티티에 매핑가능하다.

직접 할당

  • @Id 어노테이션만 사용하여 기본 키 직접 할당 가능
@Entity
public class Member {
    @Id
    @Column(name = "ID")
    private String id;
}

데이터베이스 자동 생성 전략

  • 항상 어플의 기본 키 값을 직접 할당하는 적인 비효율적일 수 있음
  • 특히 높은 동시성 환경에서는 중복 키 충돌 위험이 있음.
  • 데이터 베이스가 제공하는 자동 생성 기능을 활용하는 것이 좋음

데이터 베이스 기본 키 생성 전략..

  1. 직접 할당
    1. 어플리케이션에서 기본 키 할당
  1. IDENTITY
    1. 기본 키 생성을 데이터 베이스에 위임
  1. TABLE
    1. 키 생성 테이블 사용
  • @GeneratedValue 어노테이션을 사용하면 원하는 기본 키 생성 전략을 지정할 수 있다.
💡
JPA 구현체 중 하나인 하이버네이트에서 새로운 키 생성 전략을 사용하기 위해
<property name="hibernate.id.new_generator_mappings" value="true" />
기본 키 생성 성능을 최적화하는 allocationSize 속성의 사용 방식도 변경
  • persistence.xml 에 해당 속성을 추가해야함


Uploaded by N2T