是否可以从RoomDB中的实体中的字符串列表中查询特定的字符串?
这是我的实体
@Entity
data class Radical(
@PrimaryKey
val pkey: Int = 0,
@ColumnInfo(name="radical_name")
val radicalName: String,
@ColumnInfo(name="radical_strokes")
val radicalStrokes:List<String>
)
然后我的界面会像
@Query("SELECT * FROM RADICAL WHERE radicalStrokes == :radicalStrokes")
suspend fun fetchRadical(radicalStrokes: String): Radical
它返回空值。
最佳答案
您可以使用LIKE
(类似于contains()方法)代替==
例如
@Query("SELECT * FROM RADICAL WHERE radicalStrokes LIKE '%' || :radicalStrokes || '%' ")
suspend fun fetchRadical(radicalStrokes: String): Radical