목록Web (2)
nathan_H
Entity 조회 Spring JPA 를 사용할시 Entity를 가져오는 방법은 크게 두가지이다. EntityManager.find(target) 메소드를 통한 영속성 컨택스트의 1차 캐시 혹은 데이터 베이스에서 가져온 2차 캐시를 통한 실제 엔티티 조회 EntityManager.getReference(target) 메소드를 통한 Proxy 엔티티를 조회. 1번 같은 경우에는 아마 JPA를 사용해본 경험이 있으면, 익숙하게 다가오고 많이 사용 해봤을것이다. 하지만 2번의 경우는 약간은 생소하고 Proxy 라는 개념 자체도 처음 듣는 사람도 있을 것이다. 여기서 Proxy 라 함은 네트워크 서비스에서 간접적으로 대리 응답을 해줄때 사용하는 개념과 비슷하다고 보면 된다. 즉 Proxy는 실제 엔티티를 조회하..
자바 스프링을 활용하다 보면은 데이터 베이스를 통한 데이터 관리를 할때 항상 마주치는 도구로 JPA가 있다. 그리고 JPA의 개념중 일부인 "영속성 컨택스트"라는 용어를 자주 접하게 될텐데, 나 또한 처음 JPA를 사용할때는 제대로 이해하지 않은 상태에서 코드만 짜기 바빴다. 그러다 보니 나중에 에러나 디버깅을 할때 빠르게 문제점을 찾지 못했고, 제대로된 개념이 부족하다고 생각이 들어 이번 글을 통해 JPA의 매커니즘인 영속성 컨택스트에 대해 정리해볼까 한다. Persistence Context JPA 는 Persistence Context을 통해서 entity 에 대한 application의 lifecycle을 관리. 그리고 EntityManager API 를 통해 entity instance의 영속성..