JPA - Proxy
·
Spring/JPA
프록시 객체란? 해당 엔티티와 연관된 다른 엔티티를 한 번에 조회하지 않고 실제로 필요할 때 프록시 객체를 초기화시켜 사용한다. 프록시 객체를 사용하면 자원 낭비를 막을 수 있다. 지연 로딩을 이해하기 위해 필요한 기초 개념 em.getReference()라는 메서드로 프록시 객체인지 확인 가능 em.find()는 실제 엔티티 객체를 조회하는 메서드 프록시의 특징 실제 클래스를 상속받아서 만들어진다. 하이버네이트가 내부적으로 상속받음 실제 클래스와 동일한 타입처럼 보인다. 사용하는 입장에서는 진짜 객체인지 프록시 객체인지 구분하지 않고 사용한다. 프록시 객체는 실제 객체의 참조대상을 보관한다. 프록시 객체를 호출하면 프록시 객체는 실제 객체의 메소드를 호출한다. 프록시 객체의 초기화 Member객체를 e..