JPA(Java Persistence API)란?
- Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
- 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함
JPA 구동 방식
JPA - CRUD
- C(Create): jpa.persist(member)
- R(Read): Member member = jpa.find(memberId)
- U(Update): member.setName(". . .")
- D(Delete): jpa.remove(member)
객체와 테이블 생성, 매핑
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
public class Member{
@Id
private Long id;
private String name;
}
- @Entity: JPA가 관리하는 객체
- @Id: 데이터베이스 PK(Primary Key)와 매핑
SQL로 변환된 코드
create table Member{
id bigint not null,
name varchar(255),
primary key(id)
);
※ JPA 주의할 점
1. EntityManagerFactory는 하나만 생성해서 애플리케이션 전체에서 공유
2. EntityManager는 쓰레드간 공유X (사용 후 버려야 한다.)
3. JPA의 모든 데이터 변경은 Transaction 안에서 실행
'Spring Study > JPA 기본' 카테고리의 다른 글
[JPA] 고급 매핑 (0) | 2023.10.31 |
---|---|
[JPA] 다양한 연관관계 매핑 (0) | 2023.10.30 |
[JPA] 연관관계 매핑 (0) | 2023.10.18 |
[JPA] 엔티티 매핑 (Entity Mapping) (0) | 2023.10.17 |
[JPA] 영속성 관리 (0) | 2023.10.17 |
댓글