지우쓰 개발일기
[JPA] CRUD 기본 본문
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다.
1. Entity Manager 설정
EntityManagerFactory
EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook");
-
persistence.xml의 persistence unit에서 jpabook을 찾아 EMF를 생성
-
JPA 동작 기반 객체와 DB 커넥션 풀 생성
-
어플리케이션 전체에서 딱 한 번만 생성하고 공유해서 사용
EntityManager
EntityManager em = emf.createEntityManager();
-
DB 커넥션을 유지하며 DB와 통신
-
가상의 DB로 생각하면 됨
종료
em.close();
emf.close();
- 사용이 끝난 EM, EMF는 모두 반드시 종료해야 한다.
2. Transaction 관리
EntityTransaction tx = em.getTransaction();
try {
tx.begin();
logic(em); // Execute business logic
tx.commit();
} catch (Exception e) {
tx.rollback();
}
- JPA의 데이터 변경은 Transaction 내에서 실행
- EM에서 Transaction API를 호출하여 실행
3. Business Logic
CREATE
Member member = Member.builder()
.id("id1")
.userName("이름")
.age(23)
.build();
em.persist(member);
READ
Member findMember = em.find(Member.class, id);
- 한 건 조회만 가능
UPDATE
member.setAge(21);
- Entity(클래스)의 값만 변경해도 JPA가 자동으로 추적하여 DB 값을 변경
DELETE
em.remove(member);
- member 객체의 id를 사용하여 SQL 자동 생성
'Spring Boot > JPA' 카테고리의 다른 글
[JPA] Persistence Context (0) | 2020.09.09 |
---|---|
[JPA] JPQL 개요 (0) | 2020.09.09 |
[JPA] persistence.xml 기본 설정 (0) | 2020.09.08 |
[JPA] 매핑 정보 Annotation (0) | 2020.09.08 |
[JPA] JPA란 무엇인가? (0) | 2020.09.08 |
Comments