이것저것

프록시와 연관관계 정리 본문

Spring Boot

프록시와 연관관계 정리

nays111 2021. 2. 17. 04:44

프록시

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e0ccb1c5-334d-498f-b2da-d10867b922ed/Untitled.png

  • em.find() vs em.getReference()
  • em.find() : 데이터베이스를 통해서 실제 엔티티 객체 조회
  • em.getReference() : 데이터베이스 조회를 미루는 가짜 (프록시) 엔티티 객체 조회
  • 껍데기는 똑같은데 안에는 텅텅 빈것

프록시 특징

  • 실제 클래스를 상속받아서 만들어짐
  • 실세 클래스와 겉 모양이 같다.
  • Hibernate가 내부적으로 만든 것이다.,
  • 사용하는 입장에서 진짜 객체인지 프록시 객체인지 구분하지 않고 사용하면 된다. (이론상)
  • 프록시 객체는 실제 객체의 참조 (target)을 보관
  • 프록시 객체를 호출하면 프록시 객체는 실제 객체의 메소드 호출
Member member = em.getReference(Member.class, "id1");
member.getName();

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/0cff643d-6142-48e0-9548-5b1865257cfe/Untitled.png

'Spring Boot' 카테고리의 다른 글

엔티티 매핑시 주의점  (0) 2021.01.15
Spring Boot - Postman 사용시 Response Body 한글 깨짐  (0) 2021.01.07
Spring Boot - MVC  (0) 2021.01.07
Comments