JPA

EmbeddedId 와 GeneratedValue

시부시부 2022. 11. 11. 02:12

문제 정의

  1. GeneratedValue 를 EmbeddedId에 쓰고 싶은데 오류가 발생한다.

사실 수집 및 원인 추론

  1. Id 어노테이션에는 GeneratedValue를 이용하여 시퀀스나 오토 인크리먼트 같은 것을 사용할 수 있다.
  2. 그러나 EmbeddedId를 사용하면 오류(illegalargumentexception)가 계속 발생한다.

조치 및 방안 검토

  1. EmbeddedId를 쓰면서 GeneratedValue 혹은 비슷한 것을 찾아야 할 것 같다.

결과 관찰 문제 해결 여부

  1. 이번에는 결국 문제 해결은 하지 못했다. 왜냐하면 EmbeddedId는 복합키이기 때문에 시퀀스나 오토인크리먼트 같은 전략을 쓸 수 없었기 때문이다.
  2. 추가적으로 확인한 사항은 IdClass에도 GeneratedValue 어노테이션을 사용하지 못한다.