JPA
EmbeddedId 와 GeneratedValue
시부시부
2022. 11. 11. 02:12
문제 정의
- GeneratedValue 를 EmbeddedId에 쓰고 싶은데 오류가 발생한다.
사실 수집 및 원인 추론
- Id 어노테이션에는 GeneratedValue를 이용하여 시퀀스나 오토 인크리먼트 같은 것을 사용할 수 있다.
- 그러나 EmbeddedId를 사용하면 오류(illegalargumentexception)가 계속 발생한다.
조치 및 방안 검토
- EmbeddedId를 쓰면서 GeneratedValue 혹은 비슷한 것을 찾아야 할 것 같다.
결과 관찰 문제 해결 여부
- 이번에는 결국 문제 해결은 하지 못했다. 왜냐하면 EmbeddedId는 복합키이기 때문에 시퀀스나 오토인크리먼트 같은 전략을 쓸 수 없었기 때문이다.
- 추가적으로 확인한 사항은 IdClass에도 GeneratedValue 어노테이션을 사용하지 못한다.