dev_0hoon 2024. 1. 29. 21:59

인프런 - 김영한 jpa 강의 중

 

Persistence라는 클래스에서 persistence.xml의 설정 정보를 조회하고 EntityManagerFactory라는 것을 만들어 준다. 그리고 필요할 때마다 EntityManager를 뽑아내면 된다.

 

package helloJpa;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

public class JpaMain {

    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");//    <persistence-unit name="hello"> 유닛네임을 넣어주면 된다.

        EntityManager entityManager = emf.createEntityManager();

        EntityTransaction ts = entityManager.getTransaction();
        ts.begin(); //트랜잭션을 시작하지 않으면 jpa는 작동하지 않는다.

        try {
            Member member = new Member();
            member.setId(1L);
            member.setName("ddd");
            entityManager.persist(member);
            ts.commit();
        } catch (Exception e){
            ts.rollback(); //오류일 경우 현재 코드들을 롤백 , 즉 저장하지 않는다.
        } finally {
            entityManager.close(); //언제나 닫아 줘야한다.
        }
        emf.close();
    }
}