我正在尝试获取 A-object 列表,如下所示:
@Query("SELECT * FROM tableA " +
"INNER JOIN tableB ON tableB.tableA_id = tableA.id " +
"WHERE tableA.name LIKE :arg0")
fun search(query: String): List<A>
如果我将评论“INNER JOIN ...”字符串,则查询有效。我的数据类是:
@Entity(tableName = "tableA")
data class A(
@ColumnInfo(name = "id") @PrimaryKey(autoGenerate = false) var id: Int = 0
// other columns
)
并且
@Entity(tableName = "tableB",
foreignKeys = arrayOf(
ForeignKey(entity = A::class,
parentColumns = arrayOf("id"),
childColumns = arrayOf("tableA_id"),
onDelete = ForeignKey.CASCADE)
)
)
data class B(
@ColumnInfo(name = "id") @PrimaryKey(autoGenerate = false) var id: Int = 0,
// other columns,
@ColumnInfo(name = "tableA_id") var tableAId: Int = 0
)
有人可以给我一个提示,为什么JOIN QUERY对我不起作用?