2022/09/07 2

Chapter 09. 값 타입

9.1 기본값 타입 JPA의 데이터 타입 분류 엔티티 타입(entity type) 엔티티 타입이란 @Entity로 정의하는 클래스 객체를 말한다. 데이터가 변해도 식별자로 지속해서 추적 가능하다 ex) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능하다. 값 타입 int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경 시 추적이 불가능하다 ex) 숫자 100 => 200 바꾸면 완전히 다른 값으로 대체 기본값 타입: 자바 기본 타입(int, double) / 래퍼 클래스 / String 생명 주기를 엔티티에 의존한다. ex) 회원 삭제하면 이름, 나이도 함께 삭제 값 타입은 공유하면 안 된다. ex) 회원 이름 변경 시 다른..

Chapter 08. 프록시와 연관 관계 관리

8.1 프록시(proxy) 프록시(proxy) em.find(): 데이터베이스를 통해 실제 엔티티 객체를 조회한다. em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회한다. 하이버네이트가 라이브러리를 사용해서 가짜 엔티티를 준다. DB에 쿼리가 안 날아가는데 객체가 조회되는 것이다. ex) Member를 조회할 때 Team도 조회해야할까? 상황마다 다르다 어떤 프로젝트의 경우, 멤버만 필요 어떤 프로젝트의 경우는 멤버와 팀 둘다 필요할 수 있다. 이를 "프록시"로 해결 가능하다. 프록시의 특징 실제 클래스를 상속 받았기 때문에 실제 Entity와 겉 모양이 같다. 사용하는 입장에서는 진짜인지 프록시 객체인지 구분하지 않고 사용하도록 한다. 프록시 객체는 실제 객체..