JPA 2

【JPA】플러시(Flush)

JPA의 플러시(flush)에 대해서 공부한 내용을 정리해 알아보겠습니다. (기본 내용 출처는 자바 ORM 표준 JPA 프로그래밍 책 입니다.) 플러시는 영속성 컨텍스트의 변경 내용을 데이터베이스에 적용하는 작업을 말합니다. 플러시를 실행하게 되면 아래와 같은 작업이 발생하게 되는데, 영속성 컨텍스트에 있는 모든 엔티티를 스냅샷과 비교해서 변경된 엔티티를 찾아 내서 수정 쿼리를 만들어 쓰기 지연 SQL저장소에 등록하게 됩니다. 쓰기 지연 SQL 저장소의 쿼리를 데이터 베이스에 전송하여 적용 합니다. ▶ 영속성 컨텍스트를 플러시하는 방법에는 3가지가 있는데 em.flush()를 직접 호출 영속성 컨텍스트를 강제로 플러시 하는 방법으로 테스트나 다른 JPA를 함께 사용할때를 제외하고는 사용하지 않는 것이 좋..

【JPA】Persistence.xml 설정 방법

JPA는 Persistence.xml을 이용해서 관련 정보를 관리합니다. 파일의 위치는 아래와 같이 META-INF 폴더안에 있으면 별도의 설정없이도 인식이 가능합니다. 아래 코드는 「김영한님의 자바 ORM 표준 JPA 프로그래밍」의 샘플 소스를 인용하였습니다. 코드를 하나씩 보면 XML의 네임 스페이스와 JPA의 버전을 명시하는 합니다. 위 코드에서는 JPA 2.1을 명시하고 있습니다. JPA 설정은 persistence-unit(영속성 유닛)라는 것부터 시작을 하는데 일반적으로 연결할 데이터 베이스당 하나의 영속성 유닛을 등록하게 됩니다. persistence-unit에는 하나의 고유한 이름을 설정해야하는데, 위 코드에서는 JPABOOK를 설정한 상태 입니다. 각 프로퍼티에 대해서 살펴보면 jdbc...

반응형