Persistence Context4(수정)

Mina Park·2022년 8월 27일
0
  • 변경 감지
public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");
        EntityManager em = emf.createEntityManager(); //행동 단위마다 entity manager 생성

        EntityTransaction tx = em.getTransaction();
        tx.begin(); //트랜잭션 시작

        try {
            //영속
            Member member = em.find(Member.class, 150L);
            member.setName("change name");
//            em.persist(member);
            //데이터 변경이 있다고해서 persist를 또 할 필요가 있을까?
            //jpa는 변경 감지 기능(Dirty Checking)이 제공 => 엔티티 스냅샷을 통해 커밋 시점에 변경내용이 있을 경우 업데이트 쿼리

            System.out.println("====================");
            tx.commit();

        } catch (Exception e) {
            tx.rollback();
        } finally {
            em.close(); //자원 사용 종료 후에는 entity manager 클로즈
        }

        emf.close();
    }

0개의 댓글