StackOverflowError во время сборки комнаты - PullRequest
0 голосов
/ 13 мая 2018

Я пытаюсь использовать комнату и написать это:

@Entity(foreignKeys = arrayOf(ForeignKey(entity = Category::class, 
parentColumns = arrayOf("id"), childColumns = arrayOf("parentId"))))
data class Category (
    val type: Byte,

    val name: String,

    val description: String,

    var parentId: Long? = null,

    var remoteId: Long? = null,

    @PrimaryKey(autoGenerate = true)
    val id: Long = 0L,

    @Relation(parentColumn = "id", entityColumn = "parentId")
    var subcategories: List<Category>? = null
)

Но я получил это:

Error:Execution failed for task ':app:kaptDebugKotlin'.
> Internal compiler error. See log for more details

и более подробная информация:

 java.lang.IllegalStateException: failed to analyze: 
 java.lang.StackOverflowError
 at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57)

Может быть, кто-то сталкивался с этой проблемой (потому что без поля подкатегорий все работает хорошо).

Спасибо!

1 Ответ

0 голосов
/ 13 мая 2018

Цитирование документации для @Relation:

Обратите внимание, что аннотация @Relation может использоваться только в классах Pojo, класс Entity не может иметь отношений.

В идеале вы получите ошибку сборки лучше, чем StackOverflowError, но вы должны получить ошибку сборки какой-либо формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...