반응형

JPA 2

Persistence Context - LifeCycle

첫번째 그림에 대한 설명웹 애플리케이션에서 EntityManager를 효율적으로 관리하고, 데이터베이스와의 연결을 관리하기 위해 EntityManagerFactory를 하나 생성한다.그리고 EntityManagerFactory에서 각 요청에 대해서 하나씩 EntityManager를 생성한다.그림에서 보면 EntityManager1은 데이터베이스 커넥션을 사용하지 않기 떄문에 커넥션을 얻지 않은 상태이다.그와 반면 EntityManager2는 커넥션을 사용중이고, 보통은 트랜잭션을 시작할 때 커넥션을 획득한다.EntityManager란?JPA(Java Persistence API)의 핵심 인터페이스 중 하나로, 애플리케이션에서 데이터베이스와의 상호작용을 관리하는 역할.이를 통해 엔티티(Entity)를 데이..

JPA 2024.10.24

JPA

JPA를 사용하는 이유초창기에는 JDBC API를 직접 데이터베이스에 연동하였음.이후 iBatis(현재 MyBaits), JdbcTemplate 등인 SQL Mapper 기술을 활용하여 사용코드를 확연히 줄일 수 있었음.그러나, 여전히 CRUD를 위한 SQL을 반복해서 작성해야 하는 과정은 여전히 존재하며, 비생산적 구조로 남아있음.이를 개선하기 위해 고민하고 테이블 이름을 입력하면 CRUD SQL을 자동으로 생성해주는 도구에 객체 모델링 기능을 합친 것이 바로 JPA.객체와 관계형 데이터베이스 간의 차이를 중간에서 해결해주는 ORM(Object Relational Mapping) ==> JPA(자바의 ORM 기술 표준)반복적인 CRUD SQL 알아서 처리한다.객체 모델링과 관계형 데이터베이스 사이의 차..

JPA 2024.10.24
반응형