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이 모두 있기 때문이다.