본문 바로가기

Spring

JAP란?

WHAT?

 

JPA는 객체와 관계형 데이터베이스 사이에 필요한 매핑을 자동으로 지원해주는 ORM 이다.

 

개발할 때, 객체답게 개발하면, 관게형데이터베이스와 매핑이 복잡해지고,

개발할 때, 관계형 데이터베이스에 맞추어 개발하면 ,객체의 관계들이 복잡해지고, 기능에 한계가 생기기도한다.

 

이 때, 객체의 장점을 살려 개발을 해도, 자동으로 중간에서 관계형 데이터베이스와 매핑시켜주는 API 가 JPA이다.

=======================================================================

HOW?

 

1) persistence.xml 파일을 통해 설정 정보들( DB접속, 옵션 등)을 얻는다. 

2) 사용할 데이터 베이스에 맞는 방언이 있어, 자동으로 SQL 문이 생성되서 나간다.

3) @Entity 설정한 클래스 : @ID private Long id,  @Column private String name    이렇게 엔티티설정 

   ㄴ JPA가 관리할 클래스 

   ㄴ @Temporal @Enum

4) EntityManagerFactory 객체를 생성&공유한다.

   위 객체를 사용해서 쿼리가 필요한 객체에서 EntityManager 를 생성한다. 

          ㄴ쓰레드끼리공유X 

          ㄴrequest 한번 사용후 버림

 

5) JPA 는 모든 데이터 변경에 대해서 꼭 트렌젝션이 쌓아서 처리해주어야 한다.