JPA에서 Composite PK 사용하기

Kyle_Kim·2022년 7월 4일
0

JPA에서 Composite 키를 사용하게 되면서 여러가지 방법들에 대해서 알게되었다.

첫번째로 @IdClass를 사용해 따로 key의 값들을 저장할 클래스를 만들어 주는것이고

두번째로는 @Embeddle를 사용해 다른 방법을 쓰는것이였지만 따로 알아보지는 않았다.

하지만 @Embeddle이 좀더 깔끔하고 객체지향 스럽지만 현업에 적용시 필요한 정보가 객체 그래프 깊이 있을 수도 있다.

Ksmart product에서 구현한 composit key 방법

특이한점은 Entity가 Serializable을 구현 하는게 아니고 composit key를 가지고 있는 ID클래스가 Serializable을 구현한다.

Main entity클래스는 기존과 동일하지만 Serializable을 구현 안하는것과 @IdClass()를 사용 안하는 것을 제외하면 동일하다.

Repository설정 방법

1. CrudRepository를 상속 받는다

2. 왼쪽에는 Entity 오른쪽에는 Composit key가 선언된 Id클래스를 기입한다.

profile
Make Things Right

0개의 댓글