값 타입
JPA에서 제공해주고 있는 데이터 타입은 크게
엔티티 타입, 값 타입으로 나눌 수 있다.
엔티티
는 @Entity로 정의하는 객체이고
엔티티 타입은 식별자를 통해서 지속적으로 추적하는 것이 가능
특징으로는
식별자가 있다 → 식별자로 구분, 추적이 가능
생명주기가 있음 → em.persist로 영속화, em.remove로 제거
공유할 수 있음 → 참조 값을 공유할 수 있음
값
은 int, Integer, String 처럼 단순하게 값으로 이용하는 자바의 기본 타입이나 객체를 의미
값 타입은 단순한 수치 정보이다.
기본값 타입 - basic value type
자바 기본 타입(int, double)
래퍼 클래스(Integer)
String
임베디드 타입(복합 값 타입)
컬렉션 값 타입
특징
식별자가 없고
생명주기가 엔티티에 의존되어 있다.
공유하지 않는 것이 안전하다
공유하지 않고 복사해서 사용하라
오직 하나의 주인이 관리하자
불변객체로 만드는 것이 좋다
임베디드 타입
값 타입과 불변 객체
값 타입의 비교, 컬렉션
Last updated
Was this helpful?