Spring Study/JPA 기본
[JPA] JPA 기본 개념
정재인
2023. 10. 14. 16:50
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 안에서 실행