[Kotlin/Spring] JPA 에서 UnsupportedOperationException 이 발생하는 경우

이재성·2023년 1월 5일
0
@Entity
data class FolderTree(
    @Id
    val name : String,
    @OneToMany(cascade = [javax.persistence.CascadeType.ALL])
    val children : List<FolderTree>
)

Kotlin/Spring 프로젝트에서 JPA를 도입해 프로젝트를 진행하던 중 UnsupportedOperationException 에러를 마주쳤다.
JPA는 내부적으로 쿼리를 데이터베이스에 날린 다음 이를 객체로 변환하는데 List의 경우 add를 호출해서 데이터를 입력한다. 그러나 코틀린은 기본적으로 List 컬렉션이 불변속성을 가지기 때문에 add 함수를 지원하지 않는다. 따라서, List를 아래와 같이 MutableList로 바꾸면 에러를 해결할 수 있다.

@Entity
data class FolderTree(
    @Id
    val name : String,
    @OneToMany(cascade = [javax.persistence.CascadeType.ALL])
    val children : MutableList<FolderTree>
)
profile
벡엔드 개발을 하며 이유와 방법을 찾는 글 작성이 취미입니다.

0개의 댓글

관련 채용 정보