Spring Data JPA - LazyInitialization 에러
- Fetch 방식이 LAZY이기 때문에 발생.
- 해결 방법
- @Transactional 적용 (각 처리마다 로딩해야되는 단점)
- @Query를 이용해서 조인 처리
- @EntityGraph를 이용
@EntityGraph의 속성
- attributePaths : 로딩 설정을 변경하고 싶은 속성의 이름을 배열로 명시
- type : @EntityGraph를 어떤 방식으로 적용할 것인지를 설정
- FETCH : attributePaths에 명시한 속성은 EAGER로 처리, 나머지는 LAZY로
- LOAD : attributePaths에 명시한 속성은 EAGER로 처리, 나머지는 엔티티 클래스에 명시되거나 기본방식으로 처리
1 |
|