JPA - 프록시란?
·
Back-End/JPA
JPA에서의 프록시 JPA에서 엔티티를 조회할 때, EntityManager.find() 를 이용해서 조회하게 되는데, 만약 해당 엔티티가 영속성 컨텍스트에 존재하지 않으면, 데이터베이스에 조회를 요청하게 된다. 엔티티를 실제로 사용하는 시점까지 데이터베이스 조회를 미루고 싶다면, EntityManager.getReference() 메소드를 사용하면 된다. 해당 메서드는 DB를 조회하지않고, 실제 엔티티 객체를 생성하지도 않는데, 데이터 베이스 접근을 위한 프록시 객체를 반환해준다. 프록시의 사용 프록시 클래스는 실제 클래스를 상속 받아서 만들어지므로 진짜 객체인지, 프록시 객체인지 구분하지 않고 사용하면 된다. 프록시 객체는 실제 객체의 참조(target)을 보관 프록시객체는 실제 객체의 메소드를 호출..