Kotlin에서 JPA 사용할 때 주의할 점 (2) - Embeddable, IdClass
· 약 10분
Kotlin에서 JPA 사용할 때 주의할 점을 쓴 이후로 직장에서 하는 프로젝트에도 Kotlin + JPA를 사용하게 되었습니다. 그러다보니 좀 더 고급 기능을 사용하게 되고 또 여러가지 새로운 어려움에 부딪혔습니다.
Embeddable
기간(시작 날짜, 끝 날짜)이나 좌표(X, Y) 등 항상 같이 다니는 값들을 객체로 묶어서 Entity의 속성으로 지정할 수 있습니다.
이러한 객체의 클래스에 @Embeddable
어노테이션을 붙여서 선언하고, Entity에서 @Embedded
어노테이션을 붙여서 사용합니다. 예제 코드를 보면,
@Embeddable
data class Coordinate(
var x: Int,
var y: Int
)