@Entity를 붙이면 일어나는 일 - JPA 내부 동작 원리
·
Java
들어가며 지난 글에서는 JPA의 핵심 메커니즘인 영속성 컨텍스트(Persistence Context)에 대해 정리했다. 데이터가 메모리 상에서 어떻게 관리되고 플러시되는지를 이해했다면, 이제 근본적인 의문이 생긴다. 어떻게 @Entity 어노테이션 하나 붙였다고 DB와 연동될까?또한 우리는 흔히 스프링 데이터 JPA를 사용하며 인터페이스만 선언하고 구현체는 만들지 않는다. 그럼에도 save() 메서드는 동작한다. 이번 글에서는 어노테이션이라는 메타데이터가 컴파일과 런타임 과정을 거쳐, 어떻게 리플렉션과 프록시 기술을 통해 실제 DB 동작으로 이어지는지 그 내부를 파헤쳐본다. 어노테이션의 정체: 그냥 주석일 뿐이다어노테이션은 아무 의미 없는 주석과도 같다@Entity나 @Getter 같은 어노테이션을 붙이..