작성
·
370
답변 1
3
안녕하세요. 나무님, 공식 서포터즈 코즈위버입니다.
추측하신 내용이 맞습니다. JPA는 allocationSize 만큼의 시퀀스를 미리 받아 이를 메모리에 저장합니다. 그리고 가지고 있는 값을 모두 소진하기 전까진 메모리에서 시퀀스 값을 찾아 사용합니다. 그리고 부족하면 다시 데이터베이스에서 시퀀스를 한 번에 받아옵니다.
만약 시퀀스를 모두 소진하기 전에 어플리케이션이 종료될 경우, 나머지 시퀀스는 사라지며 다시 사용할 수 없는 상태가 됩니다. 가령 1-50번까지의 시퀀스 중 10번까지 사용하고 11-50번은 사용하지 않은 상태로 어플리케이션을 종료하고 다시 시작하면, 51번 시퀀스 부터 시작하게 됩니다.
감사합니다.