프록시?
- 질문으로 부터 프록시에 대한 학습을 시작한다.
- Member 엔티티를 조회할 때 Team도 함께 조회해야 할까?
- 실제로 필요한 비즈니스 로직에 따라 다르다.비즈니스 로직에서 필요하지 않을 때가 있는데, 항상 Team을 함께 가져와서 사용할 필요는 없다.
- 낭비가 발생하게 된다.JPA는 이 낭비를 하지 않기 위해, 지연로딩과 프록시라는 개념으로 해결한다.
프록시 기초
지연 로딩을 이해하려면, 프록시의 개념에 대해서 명확하게 이해해야 한다.
- JPA에서 em.find() 말고, em.getReference()라는 메서드도 제공 된다.
- em.find() 는 DB를 통해서 실제 엔티티 객!
체를 조회하는 메서드이고em.getReference() 는 DB의 조회를 미루는 가짜(프록시) 엔티티 객체를 조회하는 메서드이다.