개발서적
[자바 ORM 표준 JPA 프로그래밍] 4.4 - 4.5 데이터베이스 스키마 자동 생성, DDL 생성 기능
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? 3.3 엔티티의 생명주기 3.4 영속성 컨텍스트의 특징 3.5 플러시 3.6 준영속 4. 엔티티 매핑 4.1 - 4.3 @Entity, @Table, 다양한 매핑 4.4 데이터베이스 스키마 자동 생성JPA는 데이터베이스 스키마를 자동으로 생성하는 기능을 지원클래스의 매핑정보를 보면 어떤 컬럼을 사용하는지 확인 가능JPA는 매핑정보와 데이터베이스 방언(2.5.1절 참고)..
[자바 ORM 표준 JPA 프로그래밍] 4.1 - 4.3 @Entity, @Table, 다양한 매핑
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? 3.3 엔티티의 생명주기 3.4 영속성 컨텍스트의 특징 3.5 플러시 3.6 준영속 4.1 @Entity 들어가기 전 JPA에서 가장 중요한 일은 엔티티와 테이블을 정확히 매핑하는 작업 JPA는 다양한 매핑 어노테이션을 지원, 크게 4가지로 분류 가능 객체와 테이블 매핑: @Entity, @Table 기본 키 매핑: @Id 필드와 컬럼 매핑: @Column 연관관계 매..
[자바 ORM 표준 JPA 프로그래밍] 3.6 준영속
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? 3.3 엔티티의 생명주기 3.4 영속성 컨텍스트의 특징 3.5 플러시 3.6 준영속 영속 상태의 엔티티가 영속성 컨텍스트에서 분리된 상태를 의미 준영속 상태의 엔티티는 영속성 컨텍스트가 제공하는 기능 사용 못함 영속 상태 → 준영속 상태 만드는 방법 3가지 em.detach(entity): 특정 엔티티만 준영속 상태로 전환 em.clear(): 영속성 컨텍스트를 완전히..
[자바 ORM 표준 JPA 프로그래밍] 3.5 플러시
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? 3.3 엔티티의 생명주기 3.4 영속성 컨텍스트의 특징 3.5 플러시 영속성 컨텍스트의 변경 내용을 데이터베이스에 반영 플러시 실행 순서 변경감지가 동작 모든 엔티티를 스냅샷과 비교해서 수정 엔티티를 찾음 수정된 엔티티는 수정 쿼리를 만들어 쓰기 지연 SQL 저장소에 등록 쓰기 지연소 SQL 저장소의 쿼리를 데이터베이스의 전달 영속성 컨텍스트를 플러시하는 방법 3가지 ..
[자바 ORM 표준 JPA 프로그래밍] 3.4 영속성 컨텍스트의 특징
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? 3.3 엔티티의 생명주기 3.4 영속성 컨텍스트의 특징 영속성 컨텍스트와 식별자 값 엔티티를 식별자 값(@Id로 테이블의 기본키와 매핑한 값)으로 구분 영속 상태는 식별자 값이 반드시 필요 (없으면 예외 발생) 영속성 컨텍스트와 데이터베이스 저장 플러시(flush): JPA는 보통 트랜잭션을 커밋하는 순간 영속성 컨텍스트에 새로 저장된 엔티티를 데이터베이스에 반영 영속..
[자바 ORM 표준 JPA 프로그래밍] 3.3 엔티티의 생명주기
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? 3.3 엔티티의 생명주기 비영속(new/transient): 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed): 영속성 컨텍스트에 저장된 상태 준영속(detached): 영속성 컨텍스트에 저장되었다가 분리된 상태 삭제(removed): 삭제된 상태 비영속 엔티티 객체를 생성 순수한 객체 상태이며, 아직 저장되지 않은 상태 영속성 컨텍스트나 데이터베이스와 전..
[자바 ORM 표준 JPA 프로그래밍] 3.2 영속성 컨텍스트란?
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 3.2 영속성 컨텍스트란? JPA를 이해하는게 가장 중요한 단어 엔티티를 영구 저장하는 환경이라는 뜻 Entity Manager로 엔티티를 저장, 조회하면 매니저는 영속성 컨텍스트에 엔티티를 보관, 관리 영속성 컨텍스트는 엔티티 매니저를 생성할때 하나 만들어짐 → 복잡한 상황에선 여러 엔티티 매니저가 같은 영속성 컨텍스트에 접근이 가능(11장) /* 단순히 회원 엔티티를 저장한다고 표현 -> 정..
[자바 ORM 표준 JPA 프로그래밍] 3.1 엔티티 매니저 팩토리와 엔티티 매니저
Reference. 자바 ORM 표준 JPA 프로그래밍 책 목차 및 이전 글 더보기 들어가기 전 JPA 특징, Q&A 1. JPA 소개 1.1 SQL을 직접 다룰 때 발생하는 문제점 1.2 패러다임의 불일치 1.3 JPA란 무엇인가? 2. JPA 시작 3. 영속성 관리 3.1 엔티티 매니저 팩토리와 엔티티 매니저 엔티티 매니저: 저장, 수정, 삭제 조회 등 엔티티 관련 모든 일 처리 EntityManagerFactory META-INF/persistence.xml의 정보를 바탕으로 생성 생성비용이 커서, 한개만 만들어서 애플리케이션 전체 공유하도록 설계 여러 스레드가 동시 접근해도 안전, 다른 스레드간 공유 가능 ... //공장 만들기, 비용이 아주 많이 든다. (실행할 때, 한번만 하는게 좋음?) En..