본문 바로가기

Kotlin

StackOverflowError (Kotlin)

반응형

StackOverflowError가 생겼을 경우 다양한 이유로 에러가 난다.

다양한 해법을 여기 모아 본다.

해결방안 1 (data class인 경우 case )

https://stackoverflow.com/questions/59558988/hibernate-enver-findrevisions-hashcode-stackoverflowerror

/* StackOverflowError Model */
data class TestOneClass (
    ...
    @OneToMany testManyClass : TestManyClass
)
data class TestManyClass (
    ...
    @ManyToOne testOneClass : TestOneClass
)

/* Solution * data class 를 보통의 class 변경 해준다.
 * 이 경우 Class 'TestOneClass' should have public no-arg constructor * 라고
 * constructor를 만들어달라고 오류가 뜬다.
 * 만들어주자.
 * 안 만들어도 되긴하더라..
*/
class TestOneClass (
    ...
    @OneToMany testManyClass : TestManyClass
)

해결방안 2 (data class인 경우 case)

https://stackoverflow.com/questions/48926704/kotlin-data-class-entity-throws-stackoverflowerror

/* StackOverflowError Model */
data class TestOneClass (
    ...
    @OneToMany
    testManyClass : TestManyClass
)
data class TestManyClass (
    ...
    @ManyToOne
    testOneClass : TestOneClass
)
/* Solution
* nested되는 object를 옮겨준다.
*/
class TestOneClass (
    ...
) {
    @OneToMany
    testManyClass : TestManyClass
}

 

반응형