JPA에서는 연관 관계가 설정된 Entity의 정보를 바로 가져올지 혹은 필요할 때 가져올지 정할 수 있다.
→ 가져오는 방법을 정할 수 있다 ⇒ Fetch Type
- FetchType fetch() *default* FetchType.LAZY;
- 지연 로딩 → 필요한 시점에 정보를 가져온다.
- OneToMany의 Default
- FetchType fetch() *default* FetchType.EAGER;
- 즉시 로딩 → 즉시 정보를 가져온다.
- ManyToOne의 Default
@Annatation뒤에 Many가 붙어있으면
설정된 해당 필드가 Java Collection타입 → 해당 Entity 정보가 여러개
→ 효율적으로 정보를 조회하기 위해 ⇒lazy
@Annatation뒤에 One이 붙어있으면 → EAGER
영속성 컨텍스트 기능 중 하나
지연로딩이 된 Entity정보를 조회하려면 영속성 컨텍스트가 존재해야한다.
⇒Spring Container환경에서는 트랜잭션이 걸려있어야한다.
조회할땐 필수가 아니라 지연로딩이 된 Entity의 정보를 조회하고 싶다면 반드시 트랜잭션이 적용되어야한다.
'TIL' 카테고리의 다른 글
| 240603 TIL : Spring MVC (0) | 2024.06.03 |
|---|---|
| 240531 TIL : ResponseEntity (0) | 2024.06.03 |
| 240529 TIL (0) | 2024.05.29 |
| 240528 TIL (0) | 2024.05.29 |
| 240527 TIL (0) | 2024.05.28 |