[4단원] __**기본 키 Primary Key 매핑**__

기본 키 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