我正在尝试在android中实现按名称搜索地点。我创建了两个实体,Word
并且Place
.
@Parcelize
@Entity
data class Place(
@PrimaryKey
val id: String,
val name: String,
val icon: String,
val latitude: Double,
val longitude: Double,
val address: String
) : Parcelable
@Entity
data class Word(
@PrimaryKey(autoGenerate = true)
val id: Int = 0,
val searchWord: String,
val placeId: String
)
我还创建了另一个来模拟和data class
之间的一对多关系。Word
Place
data class WordWithPlaces(
@Embedded
val word: Word,
@Relation(parentColumn = "placeId", entityColumn = "id")
val places: List<Place>
)
我遇到的问题是,当我查询得到的数据时null
。
这是 中的查询功能dao
。
@Transaction
@Query("SELECT * FROM Word WHERE searchWord = :searchWord")
fun getWordsWithPlaces(searchWord: String): LiveData<WordWithPlaces>
我需要帮助才能使实施工作。