Slide 6
Slide 6 text
© Chatwork
FYI: C/Qを分離しない場合の弊害
● リポジトリのクエリメソッドが複雑になる
○ employeeRepository.findByDeptIdsWithEmpNamesWith…(…, …, …)
● N+1クエリが発生しやすい
reservationRepository.findByIds(ids).map { reservation =>
val a = hotelRepository.findById(reservation.hotelId)
val b = customerRepository.findById(reservation.customerId)
readModelDto(a, b)
}
● オブジェクト→DTO変換が非効率
○ DTOに変換するときに、UIに合わせて捨てられる項目がある