프록시

항상 공부를 할때는 “이걸 왜 써야지???”를 명확히 알아야 한다.

예) Member를 조회할 때 Team도 함께 조회해야 할까?

Untitled

Untitled


프록시 기초

Untitled

데이터베이스에 em.flush(); 하고 em.clear(); 하면 완전 깔끔해진다. 이러면 영속성 컨텍스트가 거의 이제 처음 다시 시작하는 것이다. (app 거의 다시 띄운 것처럼) 이 상태에서 em.find를 하면 멤버의 기존에 저장했던 멤버 아이디를 가져와서 bindMember 한 다음에 찍어서 출력해보면 알 수 있다. → 어떻게? → getReference()를 같이 쓰면서 찍은 것을 보면, JPA가 이걸 내가 실제 유저네임을 찍어 이 GetUserName을 호출하는 시점에 JPA가 DB에 쿼리를 날림. 그래서 username을 find 멤버의 값(findMember.username)을 채운 다음에 이것을 출력한다.


프록시 특징