본문 바로가기

dev/JPA

JPA ID SEQUENCE

JPA에서 테이블 기본키가 sequence인 경우 매핑하는 방법입니다.

 

직원 엔티티 클래스

 

직원 엔티티 클래스의 기본키를 sequence로 매핑하기 위해서 @SequenceGenerator 어노테이션을 통해 sequence 생성기를 등록합니다.(26~31라인)

name 속성은 엔티티에서 사용할 sequence 생성기 이름입니다.

sequence 속성은 데이터베이스에 등록한 sequence 이름입니다.

initialValue 속성은 sequence 초기값입니다.

allocationSize 속성은 sequence 호출할 때마다 증가하는 숫자입니다.

 

@GeneratedValue 어노테이션의 strategy 속성을 sequence로 설정하고, generator 속성에 앞에서 생성한 sequence 생성기 이름을 설정합니다.(35라인)

 

sequence 생성

 

데이터베이스에 sequence를 생성하는데 increment 숫자를 앞에서 정의한 allocationSize 속성값으로 해야 합니다.

 

값이 일치하지 않으면 예외가 발생합니다.

 

GenerationType.SEQUENCE 전략은 GenerationType.IDENTITY과 달리 데이터를 추가하기 전에

 

미리 기본키 값을 설정할 수 있는 특징이 있습니다.

'dev > JPA' 카테고리의 다른 글

JPA QueryDSL 집계 쿼리  (0) 2023.08.31
JPA Insert Batch  (0) 2023.08.30
JPA Infinite Recursion 예외 처리  (0) 2023.08.29
Spring Boot JPA QueryDSL  (0) 2023.08.29
Spring Boot JPA ID IDENTITY  (0) 2023.08.28