본문 바로가기
Spring Study/JPA 기본

[JPA] JPA 기본 개념

by 정재인 2023. 10. 14.

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

댓글