Programming/JPA
JPA는 엔티티라는 객체를 이용해서 데이터를 관리하고 관계형 데이터베이스는 테이블을 이용해 데이터를 관리한다. 관계가 없는 테이블은 컬럼과 엔티티의 필드를 매핑해서 작성하지만, 서로 관련 있는 엔티티들의 경우엔 관계형 DB에서 사용하는 외래키와 같은 연관관계를 매핑해주어야 한다. 엔티티를 관계형 DB의 테이블처럼 작성하면 다음과 같다. @Getter @Setter @Entity public class Member{ @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long memberId; private String name; } @Getter @Setter @Entity(name = "ORDERS") public class Order { @Id @Gen..
영속성 컨텍스트(Persistence Context) 영속성이란 지속성이라는 뜻을 가지고 있다. 즉, 데이터를 지속적으로 관리한다라는 목적을 가지고 있다. JPA(Java Persistence API)에도 Persistence가 들어가는데 그만큼 영속성의 개념이 중요한 개념으로 사용된다. JPA는 자바에서 사용하는 ORM 기술의 스펙이고 DB와 객체를 매핑한 뒤 영속성 컨텍스트를 통해 관리하게 된다. 영속성 컨텍스트는 논리적인 개념이고 EntityManagerFactory가 생성한 EntityManager를 통해 접근할 수 있다. 엔티티의 생명 주기 영속성 컨텍스트가 관리하는 엔티티의 생명주기는 비영속, 영속, 준영속, 삭제로 관리된다. 비영속 (new/transient) Member member = n..