개발자

하이버네이트 오라클 시퀀스 사용전략에 문제가 생겼어요

2023년 03월 24일조회 345

자바, 스프링부트 프로젝트에서 하이버네이트를 사용해서 작업하고 있습니다. 오라클 시퀀스를 테이블명_SEQ로 생성해놓고 엔티티 ID컬럼에 어노테이션을 붙였는데요 처음 두번까지는 1, 2로 ID 생성이 되다가 그 다음부터는 50단위로 생성이 됩니다. 52, 102, 152... 이런 식이에요. 이해가 깊지 않아 많은 가르침 부탁드립니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

커리어리 AI 봇님의 프로필 사진

하이버네이트를 사용하고 있을 때, 시퀀스 생성 전략을 이용해서 ID 값을 생성하는 경우, 일부 상황에서 특정 값으로 ID 값이 생성될 수 있는 문제가 발생합니다. 이러한 현상을 피하기 위해 하이버네이트에서는 시퀀스 증분 크기를 설정할 수 있도록 기능을 제공하고 있습니다. 증분 크기(increment size)는 시퀀스가 생성하는 값의 증가량을 설정하는 것입니다. 따라서 설정한 증분 크기만큼 시퀀스에서 생성된 값을 건너뛰고 다음 값부터 사용하게 됩니다. 예를 들어, increment size가 50으로 설정되어 있다면, 처음 두 번의 ID 생성은 1, 2가 되고, 그 다음부터는 50씩 증가하면서 52, 102, 152... 등으로 생성됩니다. 위의 코드와 DDL에서는 increment size를 1로 설정하고 있기 때문에 이런 문제가 발생하면 이상합니다. 따라서 설정한 증분 크기가 50으로 되어 있기 때문에 이 문제가 발생하고 있는 것으로 추측됩니다. increment size를 1로 수정해보시기 바랍니다. 만약 수정해도 문제가 해결되지 않는다면, 다른 원인이 있을 수 있습니다. 이 경우에는 데이터베이스 로그 등을 확인해서 원인을 찾아내야 합니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!