엔티티 수정하기 - 변경감지 EntityManager em = emf.createEntityManager(); EntityTransaction transaction = em.getTransaction(); transaction.begin(); // 트랜잭션 start //영속 엔터티 조회 Member memberA = em.find(Member.class, "memberA"); //영속 엔터티 데이터 수정 memberA.setUsername("hi"); memberA.setAge(10); //JPA는 업데이트 함수가 따로 있을까? transaction.commit(); // 트랜잭션 commit 변경 감지 (Dirty Checking) 1. flush 함수 호출 2. 엔티티와 스냅샷 비교 JPA는 영속 ..
JPA에서 핵심적인 내용은 다음과 같다. 객체와 관계형 데이터베이스 매핑(ORM, Object Relational Mapping) 영속성 컨텍스트 우선, 영속성 컨텍스트에 대해 알아보자. 엔티티 매니저와 팩토리와 엔티티 매니저 먼저, 웹 애플리케이션에서 EntityManagerFactory와 EntityManager의 간단한 동작을 살펴보았다. 클라이언트 요청을 받으면 EntityManagerFactory는 각 클라이언트에게 EntityManager를 부여한다. 각 클라이언트는 부여받은 EntityManager를 가지고 DB에 접근한다. 영속성 컨텍스트 JPA를 이해하는데 가장 핵심적이며, "엔티티를 영구 저장하는 환경"이라는 뜻을 가지고 있다. 실제 코드에서는 EntityManager.persists(..