복합 키를 구현하기 위해 @Id 어노테이션을 두개 사용했더니 에러가 발생했습니다 ㅠ
구글링 하다가 @Id를 한 클래스에 두개를 쓰면 안된다는 것을 알게되었고 복합 키 구현 방법을 찾아다녔습니다.
일단 복합 키 구현에는 두 가지 방법이 있습니다.
- IdClass 어노테이션 이용
- Embeddable 어노테이션 이용
저는 이 글에서 IdClass 어노테이션 적용'만' 다룰 것입니다.
(Embeddable은 몰라서 그래요.. 공부해서 포스팅 해보겠습니다...)
우선 @IdClass를 적용하기 위해 Id전용 클래스를 생성합니다.
저는 FollowId 클래스를 생성하였습니다.
그 다음 Entity 클래스에서 IdClass 어노테이션을 추가해서 작성해둔 Id전용 클래스를 적어두면 끝입니다!
여기서 주의할 점은
User 클래스에서 작성한 mappedBy의 이름과 Follow의 변수명, FollowId의 변수명
이 세가지가 모두 같아야합니다!
'Spring' 카테고리의 다른 글
Entity @GeneratedValue with @IdClass, @EmbeddedId (2) | 2021.08.06 |
---|---|
Entity @Embeddable을 이용한 복합 키 구현 (0) | 2021.08.01 |
Spring @RequestParam String[] 문제 (0) | 2021.07.24 |
Spring JPA Pagenation (0) | 2021.07.24 |
Spring Optional.isPresent() (0) | 2021.07.15 |