220924 프록시의 특징

Jongleee·2022년 9월 24일
1

TIL

목록 보기
62/576

프록시의 특징

  1. 프록시 객체는 처음 사용할때 한번만 초기화

  2. 프록시 객체가 실제 엔티티로 교체되는 것이 아님

    • 초기화가 되면 프록시는 유지되고 내부의 target이 채워지면서 프록시 객체를 통해서 실제 엔티티에 접근 가능
  3. 프록시 객체는 원본 엔티티를 상속받기 때문에 타입체크시 주의해야한다.

    • member1.getClass()==member2.getClass() 비교가 아니고 instance of를 사용해야한다.
  4. 영속성 컨텍스트에 찾는 엔티티가 이미 있으면 em.getReference()를 호출해도 실제 엔티티를 반환한다.

  5. 영속성 컨텍스트의 도움을 받을 수 없는 준영속 상태일때, 프록시를 초기화하면 문제가 발생한다.

    • @Transactional이 끝나고 나서 프록시를 조회하면 no session 에러가 발생한다.

0개의 댓글