@EntityGraph
lazy설정을 하면 데이터를 바로 로딩하지 않고 필요한 일이 있으면 loading. 데이터를 바로 loading하지 않고 활용할 수 있게? 하는 어노테이션
- 엔티티의 특정한 속성을 같이 로딩하도록 표시하는 어노테이션
- 특정 기능을 수행할 때만 fetch를 eager 로딩을 하도록 지정할 수 있음
- attributePaths 속성과 type 속성을 가지고 있음
- type : EntityGraph를 어떤 방식으로 적용할 것인지 설정
- Fetch속성값은 attirbutePaths에 명시한 속성은 EAGER로 처리, 나머지는 lazy
- load 속성값은 attirbutePaths에 명시한 속성은 EAGER로 처리하고 나머지는 엔티티 클래스에 명시되거나 기본 방식으로 처리
@EntityGraph(attributePaths = {"member"},type=EntityGraph.EntityGraphType.FETCH)
-----
mysql은 본인이 조회하지 않은 칼럼을 가져올때 알아서 가장 위의 값을 가져옴
그러나 최신버전에서는 위의 경고 메시지가 나오며 한 영화당 하나씩 나와야하는데 전체 정보를 가지고 오게됨
만일 이전버전처럼 최상단값만을 가지고 오고 싶다면 위의 옵션 값을 넣어줘야함
-----
라이브러리 build안될때.
파일-> invaildate Caches -> 모두 체크 후 invaildate and restart
'WEB > Back-end' 카테고리의 다른 글
Spring Framework 및 API 개발 개요 (1) | 2024.10.15 |
---|---|
Spring Security(SpringBoot) (0) | 2024.10.15 |
@ManyToOne와 @OneToMany(SpringBoot) (0) | 2024.10.15 |
Thymeleaf 레이아웃 템플릿 (SpringBoot) (0) | 2024.08.23 |
Thymeleaf 레이아웃(SpringBoot) (0) | 2024.07.30 |