JPA

· JPA
플러시란? 영속성 컨텍스트의 변경내용을 데이터베이스에 반영하는 것 플러시 발생하는 생기는 일 1) 변경 감지 2) 수정된 엔티티 쓰기 지연 SQL 저장소에 등록 3) 쓰기 지연 SQL 저장소의 쿼리를 데이터베이스에 전송(등록, 수정, 삭제 쿼리) 영속성 컨텍스트를 플러시하는 방법 1) em.flush() : 직접 호출 2) 트랜잭션 커밋 : 플러시 자동 호출 3) JPQL 쿼리 실행 : 플러시 자동 호출 영속성 컨텍스트의 쓰기 지연 SQL 저장소에 쌓여있는 쿼리들을 DB에 반영시키는 명령이다. JPQL 쿼리 실행시 플러시가 자동으로 호출되는 이유 em.persist(memberA); em.persist(memberB); em.persist(memberC); query = em.createQuery("se..
· JPA
영속성 컨텍스트의 이점 1) 1차 캐시 2) 동일성(identity) 보장 3) 트랜잭션을 지원하는 쓰기 지연(transcational write-behind) 4) 변경감지(Dirty Checking) 5) 지연 로딩(Lazy Loading) 1. 1차 캐시(엔티티 조회) Member member = new Member(); member.setId("member1"); member.setNAme("memberA"); em.persist(member); Member findMember = em.find(Member.class, "member1"); Member findMember2 = em.find(Member.class, "member2"); 위의 findMember는 member 객체가 영속 상태이기..
· JPA
JPA에서 가장 중요한 2가지 1. 객체와 관계형 데이터베이스 매핑 2. 영속성 컨텍스트 EntityManagerFactory : 고객의 요청이 올 때마다 새로운 EntityManager 생성, DB당 하나 존재 EntityManager : 내부적으로 데이터베이스 커넥션을 사용해서 DB에 접근 영속성 컨텍스트란? -엔티티를 영구 저장하는 환경 EntityManager.persist(entity); 는 영속성 컨텍스트를 통해 entity를 영속화한다는 뜻으로, entity를 DB에 저장한다는 것이 아니라 영속성 컨텍스트라는 곳에 저장한다. -영속성 컨텍스트는 논리적이 개념 - 엔티티 매니저를 통해 영속성 컨텍스트에 접근한다. => 엔티티 매니저를 생성하면 영속성 컨텍스트가 생성되며 1:1로 매핑된다. 쉽게..
째로스
'JPA' 카테고리의 글 목록 (2 Page)