목록 보기
스포카에서 Kotlin으로 JPA Entity를 정의하는 방법
백엔드

스포카에서 Kotlin으로 JPA Entity를 정의하는 방법

spoqa
spoqa
2022년 8월 16일

두줄요약

Kotlin에서 JPA Entity를 정의할 때 자주 보이는 안티 패턴을 정리했습니다. mutable property, data class, lateinit 사용 시 주의할 점을 설명했습니다.

핵심 내용

  • Kotlin + JPA에서 Entity를 더 객체답고 Kotlin답게 정의하려는 문제의식
  • mutable property, data class, lateinit 사용 시 나타나는 안티 패턴과 주의점 정리
  • Entity의 동일성은 식별자 기준이며, 연관관계는 초기화 시점과 접근 방식에 특히 주의 필요

주의할 점

  • 식별자와 상태를 외부에 무분별하게 노출하는 mutable property 지양
  • data class의 equals, copy가 Entity 특성과 충돌할 수 있으므로 신중한 사용 필요
  • 연관관계에 lateinit을 쓰면 조회는 되더라도 생성 직후 접근 시 런타임 오류 가능

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...