加入房间查询

时间:2017-11-09 09:54:34

标签: android sql join android-room

我正在尝试获取 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对我不起作用?

0 个答案:

没有答案