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