JPA 엔티티를 구성함에 있어, 엔티티를 DB중심적이기 보다는, 객체지향적으로 만들고자 한다면 임베디드 타입을 사용하면 좋다.
임베디드 타입은 코드의 재사용을 가능하게 하고, 응집도를 높여준다.
@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 |