인프런 커뮤니티 질문&답변

박찬석님의 프로필 이미지
박찬석

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

상속관계 매핑 관련 질문 드립니다.

해결된 질문

작성

·

396

1

안녕하세요.

먼저 항상 좋은 강의를 내주셔서 정말 감사합니다

제가 요번에 실무에서 처음 JPA를 경험을 하게 되었고, 운이 좋게 특정 도메인의 테이블 설계도 진행을 하게 되었습니다.

고민을 하던 중, 이전 JPA 강의에서 상속 관계 매핑을 본적이 있어서 해당 부분을 적용을 하여 먼저 테스트를 해보는 중 정말 어떻게 풀어가야 할지 모르는 부분이 있어서 질문을 드리게 되었습니다.

스크린샷 2023-05-25 오후 9.47.15.png

상단 캡쳐 화면 처럼 테이블 생성 후, 각각 서브 타입의 Repository 를 만들어서 클라이언트에 넘어온 DTYPE을 통한 분기를 통해서 필요한 서브타입의 Repository 를 이용하여 조회 및 저장을 하는 방식으로 하였습니다. 그런데 해당 테이블이 다른 업무에도 많이 사용이 될 테이블이라 코드가 복잡해질 걱정이 되었습니다.

  1. 해당 부분을 어떤 방식으로 풀어나가야 할지를 모르겠습니다. 해당 부분을 실무에 적용을 하게 될 때 복잡하게 될 거 같으며 이 부분을 어떻게 실무에서 녹여야 할지를 모르겠습니다. 영한님의 경우 상속 관계 매핑을 실무에서 어떻게 사용을 하시는지 궁금합니다.

     

  2. 연관된 테이블들 중 공통적인 부분이 있고, 서로 다른 컬럼이 있을 때, Inheritance 를 통한 상속 관계 매핑 말고 다른 쉬운 방법으로 풀 수 있는 방법이 있는지 궁금하여 질문 드립니다.

두서 없는 글 읽어주셔서 감사합니다.

항상 영한님의 강의를 통해서 정말 많은 도움을 받고 있습니다. 감사합니다

좋은 하루 보내세요!!

답변 1

0

박찬석님의 프로필 이미지
박찬석
질문자

개인적으로 고민을 해본 결과 한 상속관계를 이용한 설계보단 테이블에 합치는 쪽으로 생각이 기울었습니다.

이유는 이전에 영한님께서 질문에 대해서 답변을 해주신 "만약 비즈니스 로직에 큰 차이가 없고, 단순히 데이터의 차이만 있다면, 상속 관계를 사용하지 말고, 한 테이블에 합치는 것을 권장합니다."

이부분을 생각했을 때 단순히 데이터의 차이만 있기 때문에 한 테이블로 합치고자 생각하였습니다!

https://www.inflearn.com/questions/30642/%EC%83%81%EC%86%8D%EA%B4%80%EA%B3%84-entity%EA%B0%84-%EC%A1%B0%EC%9D%B8

감사합니다

박찬석님의 프로필 이미지
박찬석

작성한 질문수

질문하기