임베디드 타입

임베디드 타입

  • 새로운 값 타입을 직접 정의 가능

  • JPA는 임베디드 타입이라 부른다.

  • int나 String 처럼 얘도 값 타입이다. (추적 불가능)

임베디드 타입 사용법

JPA에서 사용할 때는 @Ebeddable@Embedded를 정의해야한다.

이 때 기본 생성자는 필수이다.

임베디드 타입의 장점

  • 재사용성이 좋다.

  • 응집도가 높다.

  • 값 타입만 사용하는 의미있는 메소드를 사용할 수 있다.

  • 임베디드 타입을 포함한 모든 값 타입은, 값 타입을 소유한 엔티티에 생명주기를 의존한다.

임베디드 타입과 테이블 매핑

임베디드 타입은 엔티티의 값일 뿐이다.

그러기에 임베디드 타입을 사용하기 전과 후의 매핑하는 테이블은 같다.

또한 객체와 테이블을 아주 세밀하게 매핑하는 것이 가능하며 잘 설계한 ORM 애플리케이션은 매핑한 테이블의 수 보다 클래스의 수가 더 많은 것이 정상이다.

Reference

인프런 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편



© 2022. by minkuk

Powered by minkuk