살구잼의 여정
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
article thumbnail
9장. 값 타입

JPA의 데이터 타입 2가지 1) 엔티티 타입 2) 값 타입 - 기본값 타입(basic value type) : 자바기본타입(예:int, double), 래퍼클래스(예:Integer), String - 임베디드 타입(embeddedtype, 복합 값 타입) : JPA에서 사용자가 직접 정의한 값 타입. 자바의 기본타입이 아닌 객체 타입이다. - 컬렉션값 타입(colection value type) : 하나 이상의 값 타입을 저장할 때 사용. 엔티티 타입 특징 식별자(@id)가 있다. 엔티티 타입은 식별자가 있고 식별자로 구별 할 수 있다. 생명 주기가 있다. 생성, 영속화, 소멸하는 생명 주기가 있다. em.persist (entity)로 영속화한다. em. remove(entity)로 제거한다. 공유할..

article thumbnail
8장. 프록시와 연관관계 관리

프록시 (Proxy) 요약 : 지연로딩을 위해 사용되는 대리 객체 프록시를 사용하면 연관된 객체를 처음부터 데이터베이스에서 조회하는 것이 아니라, 실제 사용하는 시점에 데이터베이스에서 조회할 수 있다. 프록시는 실제 객체에 대한 대리자나 대리 객체 역할을 수행하며, 클라이언트가 실제 객체에 직접 접근하는 것 대신에 프록시를 통해 접근할 수 있도록 한다. 프록시 클래스는 실제 클래스를 상속 받아 만들어지므로 실제 클래스와 겉모양이 같다. 프록시 객체는 실제 객체에 대한 참조(target)을 보관한다. 프록시 객체의 메소드를 호출하면 프록시 객체는 실제 객체의 메소드를 호출한다. 프록시객체의 특징 처음 사용할 때 한 번만 초기화된다. 프록시객체를 초기화한다고 프록시객체가 실제 엔티티로 바뀌는 것은 아니다. ..

article thumbnail
7장. 고급 매핑

상속 관계 매핑 객체의 상속 관계를 데이터베이스에 어떻게 매핑하는지? 관계형 데이터베이스에는 객체지향언어에서 다루는 상속의 개념이 없다. 조인 전략 엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본 키를 받아서 기본 키 + 외래 키로 사용하는 전략. JPA 표준 명세는 구분 컬럼을 사용하도록 하지만 하이버네이트를 포함한 몇몇 구현체는 구분컬럼(@DiscriminatorColumn) 없이도 동작함. 장점 - 테이블의 정규화 - 외래 키 참조 무결성 제약조건을 활용할 수 있다 - 저장공간을 효율적으로 사용가능 단점 - 조회할 때 조인이 많이 사용되므로 성능저하 가능성 있음 - 조회 쿼리가 복잡함 - 데이터를 등록할 INSERT SQL을 두 번 실행함 단일 테이블 전략 테이블을 하나만 사용..