본문 바로가기
WEB/Back-end

EntityGraph (SpringBoot)

by 최새벽 2024. 10. 15.

 

@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