#android #android-room
Вопрос:
Моя Сущность
@Entity(tableName = "my_entity_table")
internal data class MYEntity(
@PrimaryKey(autoGenerate = true)
val pcID: Int,
val server_id: String,
val name: String,
val detail: String,
val duration: Int,
val start_date : Long,
val end_date: Long,
val created_by_user_id: String,
val db_create_dttm: Long,
val db_update_dttm: Long,
val db_create_src: Long,
val db_update_src: Long
)
Мой запрос dao,в котором я должен выбрать продолжительность, дату начала и дату окончания
@Query("select duration,start_date,end_date from my_entity_table where id =:pcID")
suspend fun getDurationDetails(pcID:Int) : What should be the return type?
Каким должен быть тип возвращаемого запроса ??
Комментарии:
1. почему бы просто не выбрать соответствующие объекты, а затем использовать их свойства ?
2. вы можете использовать один и тот же класс модели сущностей .
3. @androidLearner проект не создается, если я это сделаю, появится ошибка, в которой говорится, что остальные поля не возвращаются в запросе, хотя они не являются нулевыми
4. Я не понял @a_local_nobody
5. Как сказал @Bogdan Android, создайте новый класс модели с полями ,которые вы хотите, используйте этот класс в качестве возвращаемого типа.
Ответ №1:
Вы можете создать определенный класс данных в качестве модели для своего запроса с определенными полями:
data class ExampleModel(
@ColumnInfo(name = "duration") val duration: Int?,
@ColumnInfo(name = "start_date") val start_date: Long?
@ColumnInfo(name = "end_date") val end_date: Long?
)
А затем используйте его в качестве возврата:
@Query("select duration,start_date,end_date from my_entity_table where id =:pcID")
suspend fun getDurationDetails(pcID:Int) : ExampleModel
Я не думаю, что использование модели сущностей возможно, потому что ваши параметры сущностей не могут быть обнулены, и вы запрашиваете только некоторые из этих параметров.