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이 모두 있기 때문이다.
'Development > Spring' 카테고리의 다른 글
[JPA] JPQL FROM절 subquery를 해결하는 방법 (inline view) (0) | 2022.10.04 |
---|---|
[Spring] DTO와 Entity 간의 변환 (0) | 2022.10.04 |
[JPA] JPA MySQL 몇 가지 이슈에 대해서,,, GenericJDBCException (0) | 2022.10.04 |
[JPA] JPA 단방향 vs 양방향 (0) | 2022.10.04 |
[Spring] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 정리, 인프런 김영한 스프링 (0) | 2022.10.04 |