엔티티 타입과 값 타입의 특징
@Id)가 있다. - 엔티티 타입은 식별자가 있고 식별자로 구별할 수 있다. - 생명 주기가 있다. - 생성, 영속화, 소멸하는 생명 주기가 있다. - em.persist(entity)로 영속화한다. - em.remove(entity)로 제거한다. - 공유할 수 있다. - 참조 값을 공유할 수 있다.(공유 참조) - 예를 들어 회원 엔티티가 있다면 다른 엔티티에서 얼마든지 회원 엔티티를 참조할 수 있다.식별자가 없다
생명주기를 에 의존한다.
엔티티
공유하지 않는 것이 안전하다.
값 타입은 정말 값 타입이라 판단될 때만 사용해야 한다.
특히 엔티티와 값 타입을 혼동해서 엔티티를 값 타입으로 만들면 안 된다.
식별자가 필요하고 지속해서 값을 추적하고 구분하고 변경해야 한다면 그것은 값 타입이 아닌 엔티티다.