除了 Kotlin 升级后的顶级声明

Excepting a top level declaration after Kotlin upgrade

升级 Kotlin 后,我开始收到以下错误:

Excepting a top level declaration.

我需要实现的是一个带有外键的实体。这是我的实现:

@Entity(
    tableName="dogs",
    foreignKeys=@ForeignKey(
            entity=Owner.class, parentColumns="id",
            childColumns="ownerId",
            onDelete=CASCADE),
            indices=@Index(value="ownerId"))
 @TypeConverters(AnimalTypeConverters::class)
 class Dog(
    @PrimaryKey(autoGenerate = false)
    @field:SerializedName("id")
    @field:Expose
    var id: Int,
    @field:SerializedName(value = "ownerId")
    var ownerId: Int,
    @field:SerializedName(value = "name")
    var name: String)

但是在

之后
Dog.class,

消息 "Excepting a top level declaration." 出现。

升级前一切正常。

谢谢

我找到了解决办法!关于它的信息不多。

这是修改:

@Entity(
    tableName="dogs",
    foreignKeys=[
        (ForeignKey(
                entity=Owner::class, 
                parentColumns=["id"],
                childColumns=["ownerId"],
                onDelete=CASCADE
                )
        )]
)

最重要的是使用

[]

因此您可以管理多个外键。

谢谢,写得很好!