Spring Data JPA - Value Type Mapping

Spring Data JPA

백기선님의 강의인 Spring Data JPA 강의를 듣고 공부한 내용을 정리한 글

Value Type Mapping

Value Type이란 무엇일까?

Entity Type은 고유한 식별자를 갖으며 독립적으로 존재한다.

Value Type은 Primitive Type과 Composite Type, Collection Type 세 유형을 의미한다.

쉽게말하면 Entity Type에서 Primary key로 등록된 멤버 변수 외에는 다 Value 타입이라고 보면 된다.

// Account에 종속적인 데이터 타입
@Embeddable
data class Address(
    var street:String,
    var city:String,
    var state:String,
    var zipCode:String
)
@Entity
data class Account(
    @Id @GeneratedValue
    val id:Long?,
    // @Column이 생략되어 있음
    val username:String,
    val password:String,

    @Embedded
    // kotlin에선 AttributeOverrides 안써도 됨
    @AttributeOverride(name = "street", column = Column(name = "home_street"))
    val address:Address?
)

Reference

인프런 백기선님의 스프링 Data JPA



© 2022. by minkuk

Powered by minkuk