[JPA] CRUD 기본

Jiwoo Kim·2020년 11월 17일
0

JPA 마스터하기

목록 보기
3/14
post-thumbnail

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는 모두 반드시 종료해야 한다.

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를 호출하여 실행

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 자동 생성

본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. (2020.09.09)

0개의 댓글