본문 바로가기

Lazy2

JPA N+1 문제 및 해결방안 안녕하세요? 이번 시간엔 JPA의 N+1 문제에 대해 이야기 해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 본문JPA를 사용하면 자주 만나게 되는 것이 N+1 문제입니다. 예를 들어, 아래와 같은 구조에서 Academy를 호출하여 그 안에 속한 Subject를 사용한다고 가정해보겠습니다.간단하게 이들의 관계를 코드로 표현하겠습니다. (lombok을 사용하였습니다.)@Entity @Getter @NoArgsConstructor public class Academy { @Id @GeneratedValue private Lo.. 2017. 7. 24.
Spring Batch에서 영속성 컨텍스트 문제 (processor에서 lazyException 발생할때) 안녕하세요? 이번 시간엔 springboot-batch에서 reader로 읽은 데이터를 processor로 넘길때 영속성 컨텍스트가 문제가 되는 상황을 해결해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 문제 상황주문 시스템을 구축한다고 가정하겠습니다. 주문을 받은 뒤, 배치를 돌면서 주문의 내용을 History 테이블에 저장하는 기능입니다. 주문(PurchageOrder) 테이블에는 상품(Product)이 OneToMany로 잡혀있습니다. 도메인 코드는 아래와 같습니다.그리고 이를 사용한 배치 코드는 아래와 같습니다.(.. 2017. 4. 14.