엔티티 객체를 조회할때는 사용범위를 고려해야한다. 어떤 엔티티 객체가 FK 컬럼으로 다른 엔티티를 참조하고 있다면 이 참조는 즉시 불러와질까, 아니면 어떻게 될까? 앞서 흔하게 사용한 em.find()는 즉시 모든걸 가져온다. 데이터베이스를 통해서 실제 엔티티 객체를 가져온다는 뜻이다. 반면에 EntityManager에는 .getReference()라는 것이 존재하는데, 이는 데이터베이스에서 조회하는 쿼리를 날리지 않고 가짜 엔티티 객체를 가져오는 메서드이다. 간단하게 말하면 가져왔다고 가정은 되어 있지만 실제로 쿼리를 날려서 가져온 것이 아니고 쉽게 말해 null이 들어가 있는 상태이다. 프록시는 실제 클래스를 상속 받아서 만들어진 존재이고 실제 클래스와 겉모양이 같다. 이 프록시는 프록시 객체, 즉 ..