Member를 조회할때 Team도 조회해야할까?
em.find() vs em.getReference()
em.find(): 데이터베이스를 통해 실제 엔티티 객체 조회
em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회(DB에 쿼리가 안나감)




프록시 객체는 처음 사용할 때 한번만 초기화
프록시 객체를 초기화 할 때, 프록시 객체가 실제 엔티티로 바뀌는 것이 아니고, 프록시 객체를 통해서 실제 엔티티에 접근 가능한 것이다.
프록시 객체는 원본 엔티티를 상속받는다. 따라서 타입 체크시 == 비교 실패, instance of를 사용해야한다.
영속성 컨텍스트에 찾는 엔티티 있을 경우 getReference()를 호출해도 실제 엔티티 반환한다.
이와 반대로 처음에 getReference()로 프록시 객체를 호출 했을경우, em.find()를 해도 프록시 객체 반환한다.