문제점

해결 방안

의견 조율

  1. @Transactional의 경우 에러 자체는 해결되었지만, n+1 쿼리가 발생
  2. fetch join의 경우 jpql을 통해 직관적인 쿼리문 작성 가능
  3. @EntityGraph의 경우 어노테이션을 사용하여 편리하게 연관관계 설정이 가능

의견 결정

  1. 서비스가 동적 쿼리를 아직 채택하지 않았고, 다른 엔티티에 대하여 사용되지 않았는데, 함수 한 개만을 위해 QueryDSL을 적용하는 것은 과한 투자라고 판단하여 QueryDSL 을 채택하지 않았다.
  2. JPA 기반으로 코드를 작성하고 있었기에, JPA에 속한 어노테이션인 @EntityGraph를 채택했다.
    1. 바로 적용 가능 및 코드의 전반적인 가독성 향상 기대
    2. 티켓을 불러올 때 fetch join하는 member, seat, flight entity의 모든 컬럼 값을 사용하기 때문에 단점이 중요하지 않다고 판단하여 채택