• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

@GeneratedValue에 관한 질문입니다.

23.04.28 21:15 작성 조회수 190

0

member = Member(id=3, username=member1, age=10)

-> member.getTeam() = Team(id=1, name=teamA)

member = Member(id=4, username=member2, age=20)

-> member.getTeam() = Team(id=1, name=teamA)

member = Member(id=5, username=member3, age=30)

-> member.getTeam() = Team(id=2, name=teamB)

member = Member(id=6, username=member4, age=40)

-> member.getTeam() = Team(id=2, name=teamB)

 

 

  1. Team을 먼저 persist 했기때문에 team의 id가 1,2가 됐고, 그 뒤에 순차적으로 member의 id가 3,4,5,6이 된 건가요 ?

     

  2. Team은 Team대로, Member는 Member대로 각 엔티티마다 id를 사용하는게 낫지 않나요? 실무에서는 어떤지 궁금하고, 만약 실무에서는 각 엔티티마다 id값을 공유한다면 강의에서는 모든 엔티티가 같은 id값을 공유하는지 궁금합니다.

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2023.04.29

안녕하세요. hjemsti님, 공식 서포터즈 David입니다.

  1. 만약 Team을 먼저 persist 했다면 예상하신 것이 맞습니다.

  2. H2는 기본적으로 글로벌 시퀀스를 사용합니다. 따라서, H2를 사용중인 강의 내용에서는 글로벌 시퀀스로부터 id가 생성되고 엔터티 저장 순서에 따라 id가 증가합니다. 보통 테이블별로 시퀀스를 사용합니다. 그러나 절대적인 것은 아닙니다.

감사합니다.