- JPA 의 데이터 타입 분류
- 엔티티 타입
- @Entity 로 정의하는 객체
- 데이터가 변해도 식별자로 지속해서 추적 가능
- 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능
- 즉, ID 로 인해서 동일 인물 동일 객체 인지 식별이 가능한가
- 값 타입
- int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체
- 식별자가 없고 값만 있으므로 변경 시 추적 불가
- 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체
- 즉, 단순히 값만 봤을 때 바뀐 값에 대해서 이력을 알 수 없다.
- 값 타입은 정말 값 타입이라 판단될 때만 사용!!!!
- 엔티티와 값 타입을 혼동해서 엔티티를 값 타입으로 만들면 안됩니다.
식별자가 필요하고, 지속해서 값을 추적, 변경 해야 한다면 그것은 값 타입이 아닌 엔티티
기본값 타입
임베디드 타입 ( 복합 값 타입 )
값 타입과 불변 객체
값 타입 비교
컬렉션 값 타입