JPA3 영속성 컨텍스트의 개념 영속성 컨텍스트란? JPA를 이해하는데 가장 중요한 용어로 "엔티티를 영구 저장하는 환경"이라는 뜻이다. 영속성이라는 단어가 다소 생소할 수도 있지만 데이터가 소멸되지 않고 지속되는 상태라고 생각하면 된다. EntityManagerFactory와 EntityManager 우선, 이를 이해하기 위해선 JAVA에서 제공하는 EntityManagerFactory와 EntityManager 클래스의 개념을 알아야 한다. 이전 포스팅에서 Entity에 대해 소개를 했는데, 이러한 Entity를 관리하는 역할을 수행하는 클래스가 EntityManager이다. 아래 그림과 같이 EntityManger는 내부에 영속성 컨텍스트(Persistence Context)를 두어 Entity들을 관리하게 되며, JPA는 새로운.. 2022. 2. 17. 엔티티(Entity)의 개념 엔티티란? JPA에서 Entity는 테이블과 매핑되는 클래스라고 볼 수 있다. @Entity, @Table, @Column 등의 어노테이션을 사용해 엔티티 클래스를 구성할 수 있으며, 완성된 엔티티 클래스는 명세를 기반으로 테이블과 매핑이 된다. 아래와 같이 사용할 수 있는데, 해당 Order 클래스는 엔티티 클래스로 ORDERS라는 DB 테이블에 맵핑이 되며, PK로 ORDER_ID 컬럼을 갖도록 해준다. @Entity @Table(name = "ORDERS") public class Order { @Id @GeneratedValue @Column(name = "ORDER_ID") private Long id; } 이러한 엔티티는 생명주기를 갖게 되며 총 4가지 상태로 표현하는데, 이를 엔티티의 생명주.. 2022. 2. 17. JPA 소개 JPA란? Java Persistence API의 약자로 자바 진영의 ORM 기술 표준이다. JPA는 애플리케이션과 JDBC 사이에서 동작함 JPA를 왜 사용해야 하는가? 1. SQL 중심적인 개발에서 객체 중심으로 개발 2. 생산성 및 유지보수 3. 패러다임의 불일치 해결 4. 성능 등이 있다. 보통 SQL에서 저장, 조회, 수정 삭제 등을 하게 되면 아래와 같이 쿼리문을 작성해야 했다면 INSERT .. INTO .. SELECT .. FROM .. UPDATE .. SET .. DELETE .. FROM .. JPA에서는 아래와 같이 저장, 조회, 수정, 삭제가 가능하므로 생산성이 높아졌다. jpa.persist(member); // 저장 Member member = jpa.find(memberId.. 2022. 2. 11. 이전 1 다음