JPA/JPA 기본

·JPA/JPA 기본
JPA에서 가장 중요한 두 가지객체와 관계형 데이터베이스 매핑하기(Object Relational Mapping)DB를 어떻게 설계하고 객체를 어떻게 설계해서 중간에서 어떻게 JPA를 매핑해서 쓸 껀지(설계관점)영속성 컨텍스트실제 JPA가 내부에서 어떻게 동작하는지영속성 컨텍스트를 명확하게 이해하면 JPA가 내부적으로 어떻게 동작하는지 이해할 수 있다.엔티티 매니저 팩토리와 엔티티 매니저엔티티 매니저 팩토리를 통해서 고객의 요청이 올 때마다 엔티티 매니저를 생성한다.엔티티 매니저는 내부적으로 데이터베이스 커넥션을 사용해서 DB를 사용한다.영속성 컨텍스트JPA를 이해하는데 가장 중요한 용어영속성 컨텍스트를 한국어로 쉽게 풀어보면 “엔티티를 영구 저장하는 환경”이라는 뜻EntityManager.persist..
·JPA/JPA 기본
JPA 구동 방식JPA는 Persistence라는 클래스가 있다여기서 설정 정보를 조회해서 EntityManagerFactory라는 클래스를 만든다.EntityManagerFactory에서 EntityManager을 생성해서 사용한다.객체와 테이블을 생성하고 매핑하기테이블 생성create table Member ( id bigint not null, name varchar(255), primary key (id));테이블에 매핑되는 객체 생성@Entitypublic class Member { @Id private Long id; private String name; //Getter, Setter …}@Entity: JPA가 관리할 객체처음 로딩될때 @Entity를 통..
·JPA/JPA 기본
객체와 관계형 데이터베이스의 차이상속연관관계데이터 타입데이터 식별 방법상속관계형 디비는 기본적으로 객체에서 생각하는 상속관계가 없다.그래서 상속관계를 디비에 저장할 수 없다.하지만 관계형 디비에서 객체의 상속처럼 데이터를 저장하고 사용할 수 있는 방식이 있다.부모 테이블을 만들고 자식 테이블을 만드는 슈퍼타입 서브타입 관계를 사용하는 방식이다. Album 저장객체의 상속관계인 Album을 디비에 저장한다고 해보자.그러면 우선 객체의 상속관계에 있는 Album과 Item 객체를 분해해야 한다.INSERT INTO ITEM ...INSERT INTO ALBUM ...그리고 디비에 ITEM 테이블 ALBUM 테이블 2개로 나눠져 있기 때문에 위에처럼 삽입 쿼리를 두 개를 작성해서 호출해줘야 한다. Album ..