→ 위와 같은 코드에서 Member만 쿼리할지? Team도 함께 쿼리할지의 문제
⇒ JPA는 지연로딩과 프록시를 통해 이를 해결
→ 이 경우 select 쿼리가 DB로 날아가지 않는다.
→ select 쿼리를 호출
즉, getReference()는 객체의 값이 호출되는 시점에 쿼리를 수행하게 된다.
실제 클래스를 상속받아 만들어진다.
실제 클래스와 구조가 같다. 하이버네이트에 의해 내부적으로 Proxy객체를 생성
사용하는 입장에서는 진짜 객체인지, 프록시 객체인지 구분하지 않고 사용할 수 있다.
→ 상속해도 부모타입을 쓸 수 있으므로
프록시 객체는 실제 객체를 target으로 참조
프록시 객체를 호출하면 프록시 객체는 실제 객체의 메소드를 호출한다.