📄 JPA의 fetch Type

- @OneToMany : 기본적으로 LAZY 로딩
- @ManyToOne : 기본적으로 Eager 로딩 (권장하는 건 전부 LAZY 로딩 사용하는 것)

- 이렇게 FetchType를 명시해줘야 함. 그러면 User 객체를 사용할 때 LAZY가 발동해 호출함.
📄 LAZY 사용 시 주의
트랜잭션이 시작될 때 영속성 컨텍스트가 생성되기 때문에 LAZY 로딩 사용 시 테스트에 @Transactional 을 걸어줘야한다.

- JPA는 엔티티를 로드할 때 Proxy Entity를 생성한다. Proxy 객체는 실제 Entity의 타입을 상속받고, 엔티티의 매핑된 속성들 중 일부를 지연 로딩할 수 있도록 설정된다.
- 매핑이 필요없는 데이터를 요청받았을 경우 Proxy Entity가 데이터를 바로 넘겨주고, 매핑이 필요한 데이터를 요청받았을 경우 진짜 Entity가 DB 에서 데이터를 매핑한 후 넘겨준다.