SpringBoot/JPA
내가 JPA 강의를 보고 작성한 VELOG 시리즈 영속성 컨텍스트를 통해 데이터를 관리하기 위해서는 엔티티 객체의 영속화가 필요하며, 엔티티의 생명주기를 관리해야한다. 이를 위해서 entityManager 에 있는 메소드 들에 대해서 알아보자 flush flush : 영속성 컨텍스트의 내용들을 데이터베이스화 동기화 하기 위해 사용하는 메소드 쓰기 지연 큐에 있는 쿼리들을 적용하여 동기화를 도와주는 메소드이다. commit 메소드 호출 시 자동으로 호출 된다. clear clear : 영속성 컨텍스트를 초기화 하는 메소드 persist persist : 비영속 상태의 엔티티를 영속화 하는 메소드 일반적으로 새로 생성한 엔티티 객체를 영속화 할 때 사용하는 메소드 이다. Spring DATA JPA 에서 R..
내가 JPA 강의를 보고 작성한 VELOG 시리즈 목표 이전 까지 영속성 컨텍스트를 이해하기 위해 필요한 PesistenceUnit, EntityManager, EntityMangerFactory 에 대해서 알아봤다. 이번에는 영속성 컨텍스트 내부의 1차 Cache, 쓰기 지연 큐에 대해서 알아보자 쓰기 지연 큐 하이버 네이트의 쓰기지연 사실 JPA 에서는 쓰기지연을 구현하지 않는다. 하지만 JPA 구현체 중 하이버네이트에서 쓰기 지연을 구현하고 있고, 하이버네이트 구현체를 사용하고 있기 때문에 쓰기 지연 기능이 가능한 것이다. 엔티티가 영속화가 되면 영속화 된 엔티티의 정보가 쓰기 지연 큐 에 엔티티 쿼리 정보가 등록이 된다. 이후 특정 이벤트 발생 전까지 엔티티의 상태가 변경되면 변경 내용을 쓰기 지..
내가 JPA 강의를 보고 작성한 VELOG 시리즈 목표 지난 번에 영속성 컨텍스트에 대해서 알아봤다. 영속성 컨텍스트는 데이터베이스의 테이블을 관리하기 위해서 엔티티라는 객체를 사용하여 데이터 조작을 한다. 엔티티의 생명 주기에 대한 이해를 통해 작동 원리에 대한 이해를 높여 보자 엔터티의 생명 주기 4 가지 비영속 ( new / Transient ) - 순수한 객체 상태이며, @Entity 로 선언된 객체 인스턴스 이며 영속성 컨텍스트에 등록되지 않은 상태 Member newMember = new Member(); 영속 ( Managed ) - @Entity 로 선언된 객체를 영속성 컨텍스트에서 관리하는 상태를 말한다. - 관리되는 상태에서 JPA 의 여러가지 API 를 사용할 수 있게 된다. - 영속..
내가 JPA 강의를 보고 작성한 VELOG 시리즈 영속성 컨텍스트 영속성 컨텍스트 ( Persistence Context ) : 자바에서 데이터 베이스 테이블과 Mapping 할 객체 ( Entity ) 를 관리하는 환경 영속성 컨텍스트에 대한 이해를 위해 알아야할 내용들이다. PersistenceUnit JPA 를 사용하는 설정 정보와 DB 접속 정보를 담고 있는 단위로써 Persistence.xml 파일 형식으로 구성하거나 Spring 환경의 경우 application.yml 등의 어플리케이션 설정 파일에 정의할 수 있다. ( 사실상 SpringBoot 환경을 많이 사용하면 application.properties 나 application.yml 에 DB 접속 정보 및 JPA 설정 정보를 정의하기 때..
내가 JPA 강의를 보고 작성한 VELOG 시리즈 CSS 사용 출처 공부하게 된 계기 SpringBoot JPA 가 무엇인지, Hibernate 가 무엇인지 모르고 사용했었다. Querydsl을 SpringBoot 환경에서 사이드 프로젝트를 하면서 내가 사용하고 있는 것에 대해 너무 모른다고 생각이 들어 인프런에서 자바 ORM 표준 JPA 프로그래밍 - 기본편 등 여러가지 강의와 해당 강사님이 집필 하신 자바 ORM 표준 JPA 프로그래밍 책을 구매해서 공부하였고, 강의를 보고 무지성으로 정리를 했지만 스스로 정리해나가며 이해하는게 좋을 거 같아서 지금 이것을 작성중이다. JPA란 자바 진영에서의 ORM 표준 명세, 즉 자바 진영에서 사용하는 ORM 인터페이스들을 말한다. 자바에서 관계형 데이터 베이스의..