• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

JPA Composite key(복합키) @IdClass , @EmbeddedId 어떤 걸 쓸 지 장단점 및 선정 기준이 궁금합니다

23.04.11 05:22 작성 조회수 1.06k

1

강사님 안녕하세요~

 

저희 플랫폼회사에서는 @EmbeddedId 만 쓰고 있고

강사님의 책을 읽어 봤을 때는

@IdClass -> db 스럽다

@EmbeddedId -> 객체 스럽다, id.컬럼 으로 좀 더 코드가 더 들어간다라고 표현하십니다.

 

강사님이

실전 실무에서 JPA Composite key(복합키) @IdClass , @EmbeddedId
둘중에 어떤걸 선호호고 많이 쓰는지 장단점 뭔지,

배달에민족 시스템에서는 어떤 이유로, 둘 중 어떤 걸 사용 하는지 알 수 있을까요?

 

--█●●--------------------------------------------

#김영한

#@IdClass

#@EmbeddedId

#join

#조인

#멀티

#컬럼

#여러개

#multiple

#column

#JPA

--█●●--------------------------------------------

답변 2

·

답변을 작성해보세요.

2

안녕하세요. 김동희님

David님 의견에 추가로 다음을 참고해보시면 도움이 되실거에요.

https://www.inflearn.com/questions/38108

감사합니다.

 

김동희님의 프로필

김동희

질문자

2023.04.13

감사합니다 강사님 수고하세요~

2

David님의 프로필

David

2023.04.11

안녕하세요. 김동희님, 공식 서포터즈 David입니다.

실무에서는 프로젝트의 요구 사항, 팀의 코딩 스타일, 데이터베이스 설계에 따라 선택이 달라지기 때문에 일관된 기준은 없습니다. 그러나, 일반적으로 객체 지향적인 접근을 선호하는 경우가 많으므로 @EmbeddedId를 사용하는 경우가 더 많이 보입니다.

@EmbeddedId를 사용하면, 복합 키를 하나의 객체로 취급할 수 있어 객체 지향적인 코드를 작성하는 데 도움이 됩니다. 또한, 복합 키 클래스를 재사용할 수 있고 코드의 가독성도 높아질 수 있습니다.

그러나 프로젝트와 팀의 선호도에 따라 @IdClass를 사용하는 경우도 있으므로, 두 방식을 모두 이해하고 적절한 상황에 맞게 선택하는 것이 필요합니다.

감사합니다.

김동희님의 프로필

김동희

질문자

2023.04.11

답변 감사드립니다. 수고하세요