ch04-entity-mapping.md 본 글은 자바 ORM 표준 JPA 프로그래밍를 읽고 개인적으로 학습한 내용 복습하기 위해 작성된 글로 내용상 오류가 있을 수 있습니다. 오류가 있다면 지적 부탁 드리겠습니다. JPA - 엔티티 매핑 JPA를 사용할 때 엔티티와 테이블을 정확하게 매핑하는 것이 가장 중요하다. JPA는 매핑 어노테이션을 지원하는데 아래와 같이 크게 4가지로 분류할 수 있다. 객체와 테이블 매핑 기본키 매핑 필드와 컬럼 매핑 연관관계 매핑 위의 분류를 이제 차근차근 정리해보자. 1. @Entity JPA를 사용해서 테이블과 매핑할 클래스에는 @Entity 어노테이션을 붙인다. @Entity가 붙은 클래스는 JPA가 관리하는 것으로 엔티티라 부른다. 1.1 속성 name : JPA와 사..
본 글은 자바 ORM 표준 JPA 프로그래밍를 읽고 개인적으로 학습한 내용 복습하기 위해 작성된 글로 내용상 오류가 있을 수 있습니다. 오류가 있다면 지적 부탁 드리겠습니다. JPA - 영속성 관리 1. 영속성 컨텍스트 기본 개념 영속성 컨텍스트(Persistence Context)란 "엔티티를 영구 저장하는 환경"이라는 뜻이다. 엔티티 매니저로 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에서 엔티티를 보관하고 관리한다. persist()메서드는 엔티티 매니저를 사용해서 회원 엔티티를 영속성 컨텍스트에 저장한다. 2. 엔티티 생명주기 엔티티에는 4가지 상태가 존재하며 생명주기는 아래의 그림과 같다. 비영속(new/transient) : 영속성 컨텍스트와 관계가 없는 상태 영속(manage..
본 글은 자바 ORM 표준 JPA 프로그래밍를 읽고 개인적으로 학습한 내용 복습하기 위해 작성된 글로 내용상 오류가 있을 수 있습니다. 오류가 있다면 지적 부탁 드리겠습니다. JPA 시작 1. JPA 프로젝트 생성 및 설정 1.1 프로젝트 생성 IntelliJ에서 maven 프로젝트를 생성하고 pom.xml을 아래와 같이 작성해준다. 4.0.0 com.doubles jpa02 1.0-SNAPSHOT org.hibernate hibernate-entitymanager 4.3.10.Final com.h2database h2 1.4.187 JPA, 하이버네이트 라이브러리 추가 H2 데이터베이스 라이브러리 추가 1.2 H2 데이터베이스 설치 및 테이블 생성 H2 데이터베이스를 다운받고, 압축을 해제한 뒤 h2/..
본 글은 자바 ORM 표준 JPA 프로그래밍를 읽고 개인적으로 학습한 내용 복습하기 위해 작성된 글로 내용상 오류가 있을 수 있습니다. 오류가 있다면 지적 부탁 드리겠습니다. JPA란? 1. JPA 기본 개념 JPA는 자바 진영의 ORM 기술 표준으로 애플리케이션과 JDBC 사이에서 작동한다. 여기서 ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑한다는 뜻이다. 자바 애플리케이션 --- JPA -- JDBC DB ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 해결해준다. 객체를 데이터베이스에 저장할 때 INSERT SQL을 직접 작성하는 것이 아니라 객체를 마치 자바 컬렉션에 저장하듯이 ORM 프레임워크에 저장하면 된다. 그러면 ORM 프..