728x90 DataBase60 [JPA] 플러시 플러시란? 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영한다. 특징 영속성 컨텍스트를 비우지 않음 영속성 컨텍스트의 변경내용을 데이터베이스에 동기화 트랜잭션이라는 작업 단위가 중요 -> 커밋 직전에만 동기화 하면 됨 플러시발생 시점 변경감지 수정된 엔티티 쓰기 지연 SQL 저장소 등록시 쓰기지연 SQL 저장소의 쿼리를 데이터 베이스에 전송 - 등록, 수정, 삭제 쿼리시 영속성 컨텍스트를 플러시 하는방법 em.flush(): 수동 호출 EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Member member = new Member(150L,"A"); // 저장 되진 않는.. 2021. 7. 30. [JPA] 영속성 컨텍스트 영속성 컨텍스트란? 영속성 컨텍스트에 대해 알아본다. 동작을 알아본다. 영속성 컨텍스트 JPA 를 이해하는데 기본이 된다. 논리적인 개념이다. 엔티티를 영구저장하는 환경 EntityManager.persist(entity) - 엔티티 매니저를 통해 영속성 컨텍스트에 접근한다. 엔티티 매니저를 통해 어떻게 접근하고 관리가 될까? 엔티티 매니저 팩토리와 엔티티 EntityManagerFactory 는 웹에서 하나로만 생성하여 사용한다. EntityManager는 사용자의 요청마다 생성해서 사용한다. EntityManager는 내부적으로 DB 커넥션을 사용해 DB와 연결한다. 엔티티의 생명주기 EntityManager가 엔티티를 관리 하는 부분에서 엔티티의 생명주기 또한 중요하다. 비영속(new/transie.. 2021. 7. 30. [JPA] JPA CRUD 기본 JPA 객체 맵핑하는 법을 알아보자. Member Class 생성후 맵핑하기 @Entity: 어노테이션을 선언해 주면 JPA 가 해당 어노테이션을보고 인식한다. @Table: 어노테이션을 이용하여 객체를 저장할 테이블 명을 따로 지정해줄수 있다. - 기본값은 클래스 명이다. @Id 로 PK 를 설정한다. @Column 으로 컬럼 이름을 지정해 줄수 있다. Member Class package hellojpa; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity // 꼭넣어야 한다. // JPA가 로딩 될때 해당 어노테.. 2021. 7. 30. [JPA] JPA 환경설정 JPA 시작 jpa를 시작해보자 프로젝트 시작하기 H2 설치 버전은 1.4.199 로 맞춰 다운 http://www.h2database.com/html/download.html Downloads Downloads Version 1.4.200 (2019-10-14) Windows Installer (SHA1 checksum: 12710a463318cf23c0e0e3f7d58a0f232bd39cfe) Platform-Independent Zip (SHA1 checksum: 5898966bbca0b29ee02602fb84e0eb90ec92eec2) Version 1.4.199 (2019-03-13), Last Stable Windows Installe www.h2database.com 메이븐 설정 4.0.0 .. 2021. 7. 29. 이전 1 ··· 11 12 13 14 15 다음 728x90 반응형