[JPA] JPA 프록시 객체

민지·2022년 9월 7일
0

Java

목록 보기
4/20

JPA 구현체들은 연관된 객체들 처음부터 데이터베이스에서 조회하는 것이 아니라 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다. 이게 프록시이다.

프록시 클래스는 실제 클래스를 상속 받아서 만들어져 실제 클래스와 겉 모양이 같다.

프록시를 사용하면 연관된 객체를 처음부터 데이터베이스에서 조회하는 것이 아니라, 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다.

프록시 객체 사용법

즉시 로딩 (EAGER)
엔티티를 조회할 때 연관된 엔티티도 함께 조회하는 방법

지연 로딩 (LAZY)
: 엔티티가 실제 사용될 때 까지 데이터베이스 조회를 지연하는 방법
: 연관된 엔티티를 실제로 사용할 때 프록시로 조회한다.
: 실제 엔티티 객체 대신 데이터베이스에 조회를 지연할 수 있는 가짜 객체(프록시 객체)를 사용한다.

프록시 객체는 실제 객체의 대한 참조(target)를 보관한다.
그리고 프록시 객체의 메소드를 호출하면 프록시 객체는 실제 객체의 메소드를 호출한다. (이때 실제 데이터베이스에서 조회)

profile
개발일지

0개의 댓글

관련 채용 정보