ORM-JPA

ORM-JPA

JPA란?

Java Persistence API의 약자로 자바 진영의 ORM 기술 표준이다.

그렇다면 ORM은 무엇일까??

- Object-relational mapping(객체 관계 매핑)

-관계형 데이터베이스는 관계형 데이터베이스대로 설계

-ORM 프레임워크가 중간에서 매핑

JPA는 애플리케이션과 JDBC 사이에서 동작한다.

먼저 maven으로 JPA persistence.xml을 다음과 같이 설정한다.

이 옵션에서 살펴볼 것은 하이버네이트는 다양한 데이터베이스의 언어를 지원한다. 따라서 hibernate.dialect의 value의 데이터베이스를 바꾸어주면 알아서 바뀐 데이터 베이스의 언어로 매핑된다.

JPA 구동 방식

JPA에서 Persistence는 META-INF/persistence.xml을 참조하여 설정 정보를 조회한 후, EntityManagerFactory를 생성하고,

EntityManagerFactory가 EntityManager를 생성하는 방식이다.

객체와 테이블을 생성하고 매핑하기

먼저 h2데이터베이스에서 아래와 같이 테이블을 생성하였다.

create table Member (

);

id bigint not null,

name varchar(255),

primary key (id)

);

h2 데이터베이스

그리고 아래와 같이 Member클래스에 @Entity, Long id에 @ID어노테이션을 붙여 데이터베이스의 PK와 매핑하였다.

Member 객체 생성

@Entity : JPA가 관리할 객체이다.

@ID : 데이터베이스 PK와 매핑

주의 사항

EntityManagerFactory는 아래 코드와 같이 위에서 설정했던 persistence.xml파일에서 를 참조하여 하나만 생성해서 애플리케이션 전체에서 공유한다.

EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");

EntityManager는 스레드 간에 공유를 하면 안 된다. 즉 사용하고 버려야 한다는 것이다.

JPA의 모든 데이터 변경은 트랜잭션 안에서 실행된다.

출처 : https://www.inflearn.com/course/ORM-JPA-Basic#

공유하기 글 요소 저작자표시

from http://dobi852.tistory.com/21 by ccl(A) rewrite - 2021-10-05 00:27:36