인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

박제영님의 프로필 이미지
박제영

작성한 질문수

스프링 데이터 JPA

연관관계 질문

작성

·

334

0

안녕하세요 선장님 강의를 완료하고 JPA를 신규 프로젝트에 도입시켜 현재 진행중입니다.

프로젝트중에 개발자간에 의견차이가 있는부분에 대해서 어떻게 생각하는지 백선장님께 여쭤보고자 

이렇게 질문남깁니다.

 

개발자 1,2 :

JPA Entity는 DB 테이블의 모든 필드가 존재해서, 해당 엔티티(테이블)을 독립적으로, insert update delete 하고

연관은 추가적인 효율성을 기할 수 잇을 때 사용하는것이라고 생각한다.

( JPA를 사용하는데 엔티티간에 관계를 꼭 사용할 필요는 없다)

 

개발자 3,4 : 

JPA를 사용하면 엔티티간에 관계는 반드시 맺어야 객체와 데이터베이스간에 불일치를 해소할수있음으로

ORM의 장점을 취할수있다.

(JPA를 사용한다는것은 반드시 엔티티간에 관계가 필요하다)

 

저같은 경우에는 후자라고 생각하는데요~ 선장님께서는 JPA를 사용하는데 엔티티간에 관계를 맺지않고

개발하는것에 대해서는 어떻게 생각하시나요?

 

 

 

답변 1

0

백기선님의 프로필 이미지
백기선
지식공유자

이런 문제는 연관 관계를 반드시 맺어라 맺지 말아라 라고 말씀드릴 수가 없는 문제에요. 연관 관계로 맺으면 장점도 있고 단점도 있는데, 최근 조영호님의 발표를 보시면 도움이 될거 같으니 참고하세요.

https://www.youtube.com/watch?v=dJ5C4qRqAgA

저는 보통 연관 관계를 맺고 개발하지만 JPA 공부를 충분히 하지 않고 연관 관계를 잘못쓰면 성능에 치명적인 영향을 줄 수 있기 때문에 SQL 로깅 꾸준히 하시고 n+1 select 문제가 발생하면 찾아서 해결하시면서 써야 합니다. 그러지 못할꺼면 사실 연관 관계를 쓰지 않는것도 방법이 될 순 있겠네요.


박제영님의 프로필 이미지
박제영

작성한 질문수

질문하기