본문 바로가기

개발/Jpa

@Embedded, @Embeddable

JPA 엔티티를 구성함에 있어, 엔티티를 DB중심적이기 보다는, 객체지향적으로 만들고자 한다면 임베디드 타입을 사용하면 좋다.

 

임베디드 타입은 코드의 재사용을 가능하게 하고, 응집도를 높여준다.

@Embedded : 값 타입을 사용하는 곳에 표시

@Embeddable : 값 타입을 정의하는 곳에 표시

* 기본 생성자 필요

 

@Embedded
@Embeddable

위와 같이 Embeddable 로 설정한 값들을 Entity에 Embedded로 지정해줄 수 있다.

이렇게 되면, 다른 Entity에도 Embedded로 같은 값들로 지정이 가능하게 된다.

Entity를 저장할때는 아래와 같이 한다.

DB에는 Embeddable 클래스의 변수들이 각각의 값이 컬럼으로 저장된다.

 

출처 : https://velog.io/@seongwon97/Spring-Boot-JPA-Embedded-Embeddable

 

[Spring JPA] @Embedded, @Embeddable

임베디드 타입 - 임베디드 타입은 복합 값 타입으로 불리며 새로운 값 타입을 직접 정의해서 사용하는 JPA의 방법을 의미한다.

velog.io

'개발 > Jpa' 카테고리의 다른 글

[JPA] Cascade & OrphanRemoval  (0) 2024.01.14
[JPA] JPA의 어노테이션(1)  (0) 2022.05.08
[Jpa]처음 접하는 Jpa  (0) 2022.02.27