Skip to content

송동엽 seminar1 과제 [청강]#49

Open
eastshine2741 wants to merge 5 commits intowafflestudio:master-week1from
eastshine2741:master-week1
Open

송동엽 seminar1 과제 [청강]#49
eastshine2741 wants to merge 5 commits intowafflestudio:master-week1from
eastshine2741:master-week1

Conversation

@eastshine2741
Copy link

좋은 과제 감사합니다! 아래엔 과제하면서 든 질문들을 몇 가지 적어보았습니다.

  • AlbumRepositoryfindAllByTitleKeywordJoinFetch에서 join fetch a.artist ar을 지우면 쿼리가 4개로 늘어나는데, 이해가 되지 않습니다ㅠㅠ AlbumEntityartistFetchType.EAGER이기 때문에 join fetch 없이 한 번의 쿼리로 artist까지 가져올 것이라고 생각했는데 아닌가요? FetchType.EAGERartist를 가져올 시점에만 관련된 것이고, join fetch로 쿼리를 줄이는 것은 JPQL으로 따로 해결해야 하는 건가요?
  • Entity와 그것의 data class는 가지는 프로퍼티가 동일해야 하나요? PlaylistEntity에는 group: PlaylistGroupEntity, likeUsers: List<PlaylistLikesEntity> 프로퍼티를 추가했지만 Playlist에는 추가하지 않았는데, 과제를 하는 데에 문제는 없었습니다. 일반적으로 Entity와 data class의 프로퍼티는 동일하게 하는 것이 좋나요?
  • 플레이리스트를 가져올 때 N+1 문제를 피하기 위해 join fetch를 사용했는데, PlaylistEntity에 OneToMany 관계의 프로퍼티가 2개나 있어서 MultipleBagFetchException이 발생했습니다... 다른 분들의 PR과 구글링을 참고하여 songs를 가져오는 쿼리를 따로 분리해 해결했는데, 혹시 더 좋은 방법이 있나요?

감사합니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant