JPA 기본키 전략을 뭘 사용해야 할까?
2022. 3. 26. 13:18
JPA
기본키 전략은 뭘 사용해야 할까?(블로깅) Identity 전략 vs Sequence 전략 Identity 전략 auto-increment를 사용하기 때문에 데이터베이스에 insert 쿼리가 실행이 되어야 ID값을 알 수 있다. 그래서 JPA에서는 persist()시점에 즉시 insert 쿼리를 실행하고 데이터베이스에서 식별자를 조회하게 된다. 즉, 쓰기 지연의 이점을 누릴 수 없다. Sequence 전략 시퀀스 전략은insert 쿼리와 상관없이 데이터베이스에서 시퀀스를 만들어서 그 시퀀스를 호출해서 사용하기 때문에 insert 쿼리가 나가지 않아도 ID를 생성할 수 있다. 이게 가능한 이유는 JPA가 데이버베이스에 있는 시퀀스를 내부적으로 조회하는 기능이 있기에 가능하다. 즉, 쓰기 지연의 이점을 누릴..