반응형

 

 

 

1. JPA 개요

- Persistence : java 객체에 포함된 데이터를 데이터베이스를 통해 저장 관리함으로써 객체의 영속성 보장

- JPA : 자바 객체와 데이터베이스 사이의 mapping 방법을 설정, SQL문 자동 생성 및 실행

- Persistenct Provider : JPA의 기능을 구현한 구현체 => 반드시 필요 !!

ex) Hibernate

 

 

 

2.  JPA 구성요소

1) Entity : ORM을 통해 데이터베이스에서 영속적으로 저장, 관리되는 객체

2) EntityManager : Entity에 대한 CRUD 기능 실행

3) ORM 설정 : Entity와 데이터베이스 테이블 사이에 mapping 방법을 정의

: annotation 및 XML 이용

4) JPQL(Java Persistence Query Language)

: SQL과 유사한 질의 언어

=> 복잡한 질의할 때 사용

5) Criteria API

: 자바 코드를 이용한 질의 표현 및 실행 가능

 

 

 

3. Entity

: 영속적인 데이터를 포함하는 POJO 객체

- 식별자(ID) 속성 필요

- 클래스 내에서 어노테이션을 이용해 ORM 설정

 

 

 

4. JPA 주요 어노테이션

1) Entity 정의 : @Entity

2) 식별자 정의 : @Id

3) Entity와 테이블 간의 매핑 정의 : @Table, @Column, 등등

4) Entity들 간의 연관 관계 정의 : @OneToOne

 

 

 

5. EntityManager

: Entity에 대한 생명주기 관리

- 영속 컨텍스트 : 영속성을 갖는 Entity들의 저장 공간(Cache 기능 포함)

- 영속 객체에 대해 데이터베이스 저장, 갱신, 삭제 실행

 

 

- 주요 메소드

 

사용 예)

 

 

 

 

 

6. 복합식별자

: 다른 객체에 포함되는 값 객체를 정의

 

- @Embeddable, @EmbeddableId

 

 

- @IdClass, @Id

 

 

 

- @Embeddable, @Embedded

 

 

7. @Enumerated

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

'Programming > Spring' 카테고리의 다른 글

카페24 ROOT.war 파일 배포 후 오류  (0) 2022.10.24
Restful하게 API를 구성하자 !  (0) 2021.11.25
11. Transaction Management  (0) 2021.06.08
10. Spring 기반 RESTful service  (0) 2021.06.07
09. Spring JDBC  (0) 2021.06.01

+ Recent posts