房间持久性@Relation在Java中工作,但不在Kolin中

基于我以前的问题( Android持久性房间:“无法弄清楚如何从光标读取这个字段” ),我得到的工作得益于反馈,我在Kolin中实现了同样的例子(见下面的代码)。 我不得不做一些小的改变,如现在传递给查询的参数,这些参数必须作为“p0”,“p1”等传递。现在在Kotlin中,我得到以下有关UserWithPets类的错误:

错误:无法弄清楚如何从光标读取此字段。 e:private java.util.List宠物;

@Dao interface UserDAO { @get:Query("SELECT * FROM user") val all: LiveData<List<User>> @Insert fun insertUser(user: User) //single one @Insert(onConflict = OnConflictStrategy.REPLACE) fun insertUsers(vararg users: User) @Query("SELECT * FROM User") fun loadUsersWithPets(): LiveData<List<UserWithPets>> } @Entity class Pet( var name: String?, var ownerId: Int,@PrimaryKey(autoGenerate = true)var id:Int) @Dao interface PetDAO { @Query("SELECT * FROM pet") val all: List<Pet> @Query("SELECT * FROM pet WHERE id IN (:p0)") fun loadAllByIds(petIds: IntArray): List<Pet> @Insert fun insert(pet: Pet) @Insert fun insertAll(vararg pets: Pet) @Delete fun delete(user: Pet) } class UserWithPets { @Embedded var user: User? = null @Relation(parentColumn = "id", entityColumn = "ownerId", entity = Pet::class) var pets: List<Pet>? = null } 

看来,如果我用Java编写UserWithPets类,它将正常工作,但在Kotlin中写入失败。 任何想法有什么不对? 这是一个注释处理问题?

Solutions Collecting From Web of "房间持久性@Relation在Java中工作,但不在Kolin中"