준영속 3

[JPA] 영속성 관리[5]

병합 : merge()merge() 메소드는 준영속 상태의 엔티티를 받아서 그 정보로 새로운 영속 상태의 엔티티를 반환한다.public class ExamMergemain {    static EntityManagerFactory emf =        Persistence.createEntitymanagerFactory("jpabook");        public static void main(String args[]) {        Member member = createMember("memberA", "회원1");        member.setUsername("회원명변경");        mergeMember(member);        }     static Member createMembe..

스프링 2024.12.10

[JPA] 영속성 관리[4]

플러시 플러시는 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영하는 과정이다.변경 감지가 동작해서 영속성 컨텍스트의 모든 엔티티를 스냅샷과 비교해서 수정된 엔티티를 찾는다. 수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록한다.쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송한다 영속성 컨텍스트를 플러시하는 방법 em.flush() 직접 호출트랜잭션 커밋 시 자동 호출JPQL 쿼리 실행 시 자동 호출 플러시 모드 옵션 엔티티 매니저에 플러시 모드를 직접 지정하려면 javax.persistence.FlushModeType을 사용하면 된다.FlushModeType.AUTO : 커밋이나 쿼리를 실행할 때 플러시(기본값)FlushModeType.COMMIT : 커밋할 때만 플러시 * 플러..

스프링 2024.12.09

[JPA] 영속성 관리[1]

엔티티 매니저 엔티티 매니저는 엔티티를 저장, 수정, 삭제, 조회하는 등의 일을 처리한다. 엔티티를 관리자는 관리자인셈.엔티티 매니저는 엔티티 매니저 팩토리에서 생성하여 사용한다.  영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어로 "엔티티를 영구 저장하는 환경" 이라는 뜻이다.엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다.ex) em.persist(member);-> persist() 메소드는 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다. 엔티티의 생명주기 1. 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계 없는 상태순수한 객체 상태이며 저장하지 않은 상태ex)Member member = new M..

스프링 2024.11.25
728x90
반응형