Development/Spring
[JPA] JPA @IdClass에 관해,,,
hyelie
2022. 10. 4. 15:00
JPA에서 IdClass는 entity의 key를 1개 이상의 column으로 지정할 수 있게 해 주는 기능이 있다.
구체적으로는
implements serializable
를 이용하는데, 이 idclass에 꼭 구현되어야 하는 함수가 2가지 있다.
바로
- equals : 두 객체의 내용이 같은지 equality를 비교해주는 함수
- hashCode : 두 객체가 같은 객체인지 identity를 비교해 주는 함수
이다.
이것을 구현해 주어도 되지만, @EqualsAndHashCode annotation을 사용해서 method를 생성할 수 있고,
@Data annotation을 이용할 수도 있다. 왜냐하면 @Data annotation은
- @Getter
- @Setter
- @RequiredArgsConstructor
- @ToSTring
- @EqualsAndHashCode
annotation이 모두 있기 때문이다.