본문 바로가기

- Spring

[JPA] Embeddable, Embedded

반응형

한 테이블에 동일하게 받는 데이터를 저장할 일이 생겼습니다.

아래와 같이 일일이 선언해도 무방하지만,

@Embeddable과 @Embedded 어노테이션이 있다는 것을 알게 되어 사용해봤습니다.

 

- 기존

 

- @Embedded

@Embedded를 사용하면 같은 형태의 데이터를 위와 같이 매핑정보를 분리하여 사용할 수 있습니다.

다만 @Embedded를 통해 다른 객체를 필드에 선언한 경우 해당 엔티티에서는 다른 컬럼명을 사용하기 때문에 

@AttributeOverride로 재정의가 필요합니다.

 

@Embedded를 사용하기 위해서는 @Embeddable이 필요합니다.

 

당연히 테이블에는 각 컬럼이 존재해야 합니다!

반응형