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 |