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

코딩코딩코딩코님의 프로필 이미지

작성한 질문수

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

양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리

조회를 할 때 findByTeam vs team.getMembers() 차이

작성

·

94

·

수정됨

0

둘의 차이가 뭔가여??

 

 Character character = characterRepository.findByUserId(userPrincipal.getId()).orElseThrow(CharacterNotFoundException::new);
        List<Quest> quests = character.getQuests();

현재 프로젝트 중인데 이 강의를 들으면서 느낀점은

qeustRepository.findByCharacter(character)를 하는 경우와 character.getQuests의 차이가 궁금합니다.

어떤게 더 좋은방식이구

각자의 장단점이 있을까요?

 

 

https://www.inflearn.com/community/questions/66107/member%EC%99%80-order%EA%B0%84%EC%9D%98-%EC%96%91%EB%B0%A9%ED%96%A5-%EA%B4%80%EB%A0%A8-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4

 

추가로 이거랑 질문이 관련이 있는걸까요?

답변 2

0

  1. 보통은 Quest 의 정보만 필요한 경우가 많았기 때문입니다!이 말이 이해가 되지않습니다!! getQuest는 이 말에서 안좋게 작용하는 건가요??

     

     

단순하게 비유하자면 Quest 목록을 불러올 때는 Character 의 정보가 필요한 경우가 거의 없었다는 것입니다 🙂

0

안녕하세요. 코딩코딩코딩코님, 공식 서포터즈 y2gcoder입니다.

저도 개발할 때마다 고민하는 주제인 것 같습니다. 코딩코딩코딩코님께서 들어주신 예시에서라면 저는 보통 questRepository.findByCharacter(character)를 많이 사용하는 것 같습니다!

  1. 단방향으로 사용하는 경우가 양방향보다 훨씬 많기 때문입니다!

  2. 보통은 Quest 의 정보만 필요한 경우가 많았기 때문입니다!

위의 두 이유로 저는 전자를 많이 사용했던 것 같습니다 🙂 다만, 프로젝트 요구사항이나 여러 요인들에 따라 양방향 관계의 character.getQuests()를 이용하는게 편하다면 이를 이용하기도 했습니다. 저는 직접 둘 다 사용해보시면서 현재 상황에 더 맞는 방법을 사용하시는 것을 추천합니다 🙂

 

감사합니다.