[TIL] 9월 27일

yeon·2021년 9월 27일
0

오늘 학습, 고민한 내용

  • JPA에서 DTO로 직접 조회, 컬렉션을 같이 조회하는 경우 즉, DTO에 또 하나의 DTO 컬렉션으로 조회하는 경우 (one to many 관계)

    • many to one 관계의 테이블들과 join해서 데이터를 가져오는 쿼리 하나 + one to many의 데이터 는 in절로 쿼리를 각각 짜서 총 두 번의 쿼리만 나가도록 한다. 그리고 코드로 직접 one to many 컬렉션 DTO를 setter로 매핑시켜준다.
  • JPA에서 DTO로 바로 조회 vs 엔티티 조회

    • DTO로 바로 조회하는 경우 repository에서 api 스펙에 의존하고 있다는 생각이 든다. 여기에 DTO에 또 다른 DTO가 있는 경우에는 코드가 훨씬 복잡해져서 엔티티로 먼저 조회하고 나서 DTO로 변환하는 방법이 더 좋은거 같다.

      하지만 생각해보면 필요없는 필드 값들도 select 하기도 하고 엔티티로 조회를 한다고 해도 fetch join으로 지연 로딩으로 설정된 다른 엔티티를 가져오는 것 자체가 이미 api 스펙에 의존된 것이 아닌가 싶다.

      어쨌든, 지금 상황에서 어떤 방법이 더 알맞을지, 성능과 코드의 간결함을 고민하면서 적절한 방법을 택하자.

  • 인프론 김영한님 실전 JPA 활용 2편까지 완강했다.🎉

  • ITDA 프로젝트가 어느정도 구현완료 했는데 새로운 프로젝트는 혼자 해보고 싶다. 흥미로운걸 해보고 싶은데 떠오르는 아이디어가 없다. 지금 당장은 간단한 게임을 만들어봐도 재밌을거 같다.

0개의 댓글