인프런 커뮤니티 질문&답변
SEQUENCE전략 궁금한게 있습니다!
작성
·
211
퀴즈
JPA에서 클래스를 엔티티로 매핑하기 위해 `@Entity` 어노테이션을 사용할 때, 해당 클래스가 기본적으로 갖춰야 할 중요한 조건은 무엇일까요?
모든 필드가 public이어야 한다
final 클래스여야 한다
public 또는 protected 기본 생성자가 있어야 한다
static 메소드를 하나 이상 포함해야 한다
답변 2
0
0
안녕하세요. gmlwjd4667님, 공식 서포터즈 OMG입니다.
테이블마다 시쿼스를 따로 둬서 관리하지 않을 경우 다음과 같은 상황이 발생하게 됩니다.
예를 들어, ITEM 테이블과 MEMBER 테이블이 있을 때
MEMBER 데이터 하나가 생성되면 해당 데이터의 id는 시퀀스의 1을 부여받습니다.
이후 ITEM 1개가 등록되면 처음 등록한 item이지만 시퀀스가 공유되어 id가 2가 됩니다.
이러한 상황이 발생되면 id의 증가가 예측 불가능하게 증가가 되어 기본 키로 지정한 id가 누락이 된 것 인지 판별이 힘들고, 하나의 시퀀스를 공유하기 때문에 값 크기가 기하급수적으로 커질 수 있습니다.
감사합니다.





