지우쓰 개발일기
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr Super-Type Sub-Type Relationship 관계형 DB에서 객체지향에서의 상속과 유사한 개념 테이블 구현 전략 Joined Strategy(조인 전략): 각각의 테이블로 변환하여 조회할 때 조인 Single-Table Strategy(단일 테이블 전략): 테이블 하나에 통합 Table-per-Concrete-Class Strategy(구현 클래스마다 테이블 전략): 서브 타입마다 테..
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr 1:1 연관관계 주 테이블에 FK 단방향 양방향 대상 테이블에 FK 양방향 N:N 연관관계 관계형 DB는 다대다 관계를 정규화된 테이블 2개로 표현할 수 없고, 연결 테이블을 중간에 추가함 객체는 객체 2개만으로 다대다 관계를 표현할 수 있음 @ManyToMany @JoinTable 속성 기능 name 연결테이블 지정 joinColumns 현재 엔티티를 참조하는 FK inverseJoinColumn..
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr 연관관계 Mapping 객체의 참조와 테이블의 FK를 매핑 방향(Direction) 객체관계: [단방향, 양방향] 테이블관계: 양방향 다중성(Multiplicity) [다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:N)] 연관관계의 주인(Owner) 양방향 연관관계인 경우 주인을 정해야 함 객체와 테이블 연관관계의 차이 객체 연관관계 테이블 연관관계 서로 다른 단방향 관계 2개 양..

본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr Persistence Context 어플리케이션과 DB 사이에서 객체(엔티티)를 저장하는 가상의 DB와 같은 환경 식별자 값(@Id)에 따라 식별된다. 1차 캐시, 동일성 보장, 변경 감지, 트랜잭션을 지원하는 쓰기 지연, 지연 로딩의 장점 엔티티의 생명주기 비영속(New/Transient): Persistence Context와 전혀 관계가 없는 상태 영속(Managed) Persistence C..
본 포스팅은 자바 ORM 표준 JPA 프로그래밍 (김영한 저)을 읽고 정리한 내용입니다. 자바 ORM 표준 JPA 프로그래밍 에이콘 오픈 소스 프로그래밍 시리즈. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. www.aladin.co.kr JPQL JPQL은 Java Persistence Query Language로, 엔티티 객체 대상의 쿼리 언어다. JPA를 사용할 때 개발자는 엔티티 객체 중심으로 코드를 짠다. 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색을 해야 하는데, DB의 모든 데이터를 엔티티로 불러 와서 검색을 하는 것은 불가능하다. 그렇기에 SQL문을 직접 작성하게 되는데, JPA에서는 JPQL이라는 SQL..