강의

멘토링

커뮤니티

Inflearn Community Q&A

firefly08780's profile image
firefly08780

asked

Java ORM Standard JPA Programming - Basics

Problems of SQL-centric Development

ALBUM을 조회하는 과정에서 문제가 생기는 이유

Written on

·

328

0

Album 을 조회하는 과정 (문제!!)

  1. 각각의 테이블에 따른 Join SQL을 작성한다. (Item과 Album을 Join해서 데이터를 가져온다.)
  2. 각각의 객체를 생성하고 모든 필드 값을 세팅한다.(Item과 Album 각각 모든 필드값을 세팅한다.) → 디비는 1인데 객체는 n개가 돼서 문제가 생김
  3. Movie, Book을 조회하고 싶으면 위의 과정을 또 반복해야 한다.

 

2번에서요 디비는 1인데 객체는 N개가 되는거 어쩔수없는일아닌가요..? 이게 왜 문제가 되나요..?

그리고 이거때문에 디비에 저장할 객체에는 상속관계를 사용하지 않는다는데 뒷부분 가보면 상속관계 쓰잖아요!

물론 디비에는 상속이라는 개념이 없지만

  • @Inheritance(strategy=InheritanceType.XXX)의 stategy를 설정해

  • @DiscriminatorColumn(name="DTYPE")

  • @DiscriminatorValue("XXX")

이런 방법들로 상속을 구현하잖아요?! 
이방법들을 쓸 수있다는것은 위의 2번의 문제가 해결되었으니까 상속을 구현할 수 있다는거 아닌가요?
2번의 문제가 어떻게 해결된거죠?

 

javaJPA

Answer 2

1

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 김민지님

SQL을 직접 다루는 경우 이렇게 진행하는 것이 번거롭다는 뜻입니다. 어떤 버그나 프로그램에 문제가 발생한다는 의미는 아닙니다. 반면에 JPA를 사용하면 해당 부분을 자연스럽게 처리된다는 뜻입니다. 

감사합니다.

0

firefly08780님의 프로필 이미지
firefly08780
Questioner

슈퍼타입 서브타입 물리모델을 사용하면 만들어진 테이블을 조회할때 문제가 발생된대요.

근데 관계형데이터베이스에서 상속..에대한 개념이 없긴하지만 무튼 상속을 구현하려면 단일테이블전략이든 조인전략이든 사용해서

구현을 해내잖아요? 그럼 어쨌든 문제가 안생기니까 구현한거아닌가요?

firefly08780's profile image
firefly08780

asked

Ask a question