是否可以从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

09-25 20:25