JPA (3) 썸네일형 리스트형 [JPA] 영속성 컨텍스트(2) - 영속성 컨텍스트의 엔티티 관리 인프런에서 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 참고하여 작성한 글입니다. JPA에서의 1차 캐시 JPA는 어플리케이션과 DB 사이의 중간 역할을 하기 때문에 캐싱 기능을 사용할 수 있습니다. 1차 캐시는 영속성 컨텍스트 안에 있으며, 영속 상태의 엔티티는 1차 캐시에 들어감으로써 캐싱 기능을 사용할 수 있게 됩니다. 1차 캐시는 여러개의 엔티티가 들어갈 수 있기 때문에, 각 엔티티를 구별할 수 있는 @Id와 Entity가 함께 들어갑니다. 즉 엔티티의 PK라 할 수 있는 Id로 1차 캐시 안에서 엔티티들을 구분하게 됩니다. 1차 캐시 @Id Entity 1 PK가 1인 엔티티 객체 2 PK가 2인 엔티티 객체 ... ... 먼저 Entity Manager가 생성한 entity를 p.. [JPA] 영속성 컨텍스트(1) - 기본과 엔티티의 생명주기 및 장점 인프런에서 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편을 참고하여 작성한 글입니다. 영속성 컨텍스트란? JPA는 데이터와 연관된 객체들을 Entity로 분류하여 관리합니다. 따라서 데이터를 읽거나, 조회하거나 쓰는 내용들이 Entity를 통해서 이루어지게 됩니다. 이러한 엔티티들을 JPA는 어떠한 곳에 저장하는데, 이 영역을 영속성 컨텍스트라고 합니다. 영속성 컨텍스트는 엔티티 매니저를 통해서 접근할 수 있는데, 이는 눈에 보이지 않는 논리적인 개념입니다. 더보기 엔티티 매니저란? 웹 어플리케이션은 어떤 요청이 들어오게 되면, 엔티티 매니저 팩토리에서 엔티티 매니저를 생성하여 할당해줍니다. 따라서 각 요청에 따라 해당 요청을 담당해주는 엔티티 매니저가 있게 됩니다. 이 엔티티 매니저는 DB에.. [Spring Boot] ORM과 JDBC, JPA 이번 시간에는 ORM와 JDBC, JPA에 대해서 배워보고자 합니다. 위의 ORM, JDBC, JPA는 모두 데이터베이스와 관련된 내용들인데요, 하나씩 차근차근 다뤄보겠습니다. JDBC JDBC는 JAVA에서 DB 접근을 하기 위해 java에서 제공하는 API입니다. Persistence Layer를 구현하기 위해서 사용되는데, 이 때 Persistence Layer란 프로그램의 아키텍쳐에서 데이터를 생성한 프로그램이 종료되더라도 사라지지 않도록 하는 영속성을 데이터에 부여하기 위해 존재하는 Layer입니다. 모든 Java Data Access 기술들은 JDBC를 기본적으로 사용하고 있고, 현재 사용되는 Java Data Access 기술들은 순수하게 JDBC만 사용했을 때의 단점들을 보완한 형식입니다... 이전 1 다음