지연로딩
JPA Fetch Type
JPA를 사용 시 어노테이션을 사용하여 객체 간 연관관계를 지정하게 되는데, 이때 옵셔널로 설정할 수 있는 항목 중 fetch라는 키워드가 등장하게 된다. (JPQL에서도 fetch join 이라는 단어가 등장하게 되는데, fetch 전략과 fetch join은 다른 내용) Fetch는 간단하게 말하자면 로딩 전략이라고 보면 된다. 즉, 연관관계로 지정되어 있는 객체에 대한 정보를 언제 로드할 것인가?에 대한 내용이라고 볼 수 있다. 그리고 이때 사용되는 fetch type에는 EAGER, LAZY 총 2가지가 존재한다. 그럼 이 2가지의 차이점은 무엇인가? EAGER (즉시 로딩) 객체에 대한 데이터 조회 즉시 연관관계 매핑이 되어있는 객체의 정보 또한 조회하는 방식 즉, 연관관계가 있는 모든 데이터를..