Intereting Posts
Android: как обновить содержимое ListView? Шифрование данных на Android, AES-GCM или простой AES? Как создать эмулятор Samsung Galaxy Note в Android AVD? Android CheckBoxPreference: как отключить и включить другие настройки при изменении предпочтений Android getIdentifier не работает для строки? Свернуть все группы, кроме выбранной группы, в расширяемом списке Инструменты: заменить не замену в манифесте Android Как получить стандартный шрифт Android-устройства? Вставьте отметку времени в базу данных через ContentValues Обработка изображений на Android – какие библиотеки я могу использовать? Показать маркер внутри ресурса, который можно извлечь из URL-адреса Java.lang.IllegalAccessError: метод 'void android.support.v4.content Можем ли мы включить pie (т. Е. Position Independent Executables) для разделяемых библиотек в android-ndk r10c? Меню раздувает вызовы несколько раз на фрагменте onCreateOptionsMenu SetAdapter "Для вызова требуется уровень API 11 (текущий мин – 8): android.widget.AbsListView # setAdapter"?

Room Persistence @Relation работает на Java, но не в Колине

Основываясь на моем предыдущем вопросе ( Android Persistence room: «Не могу понять, как читать это поле из курсора» ), который я получил, чтобы работать благодаря обратной связи, я применил тот же пример в Kolin (см. Код ниже). Мне пришлось внести некоторые незначительные изменения, такие как параметры, которые теперь передаются в запрос, который должен быть передан как «p0», «p1» и т. Д. Теперь в Kotlin я получаю следующую ошибку, связанную с классом UserWithPets:

Ошибка: не могу понять, как читать это поле из курсора. E: частные 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 } 

Похоже, что если я напишу класс UserWithPets в Java, он будет работать нормально, но не удастся, когда он будет написан в Котлине. Какие-нибудь идеи, что не так? Это проблема обработки аннотаций?

Solutions Collecting From Web of "Room Persistence @Relation работает на Java, но не в Колине"