[JPA] 생성키 전략

2022. 6. 1. 22:33개발공부/JPA 스터디

728x90

생성키 전략

IDENTITY는 auto increment를 뜻하는데, mysql 외 DB 벤더들은 이를 지원하지 않기 때문에 SEQUENCE를 사용합니다.

Identity sequencing

  • DB에 있는 IDENTITY 컬럼을 이용해 객체에 자동으로 id를 부여하는 방법입니다. MySQL, Postgres에서 지원하며, Oracle은 지원하지 않습니다. 장점만 있는 것은 아니며, DB에 insert 되기 전에 id가 부여되지 않기 때문에 flush가 돼야만 id를 획득할 수 있습니다.

Sequence objects

  • DB 객체들을 사용해 id를 생성합니다. Oracle, Postgres에서 지원합니다. INCREMENT를 DB의 시퀀스 객체에 설정해놓기 때문에 id 선할당(preallocation)이 가능합니다.

참고자료