sqlite 当联接未找到子级时,Room Dao左外联接将parentId设置为0

ru9i0ody  于 2022-12-04  发布在  SQLite
关注(0)|答案(1)|浏览(186)

我在Room Dao中有一个标准的外部连接,每当连接没有找到任何子行时,它都会奇怪地将父joinId(bakeId)设置为0。这是一个房间错误还是一个正常的行为?知道如何在不改变模式的情况下获得正确的joinId(bakeId)吗?

@Query(
    "SELECT * FROM ${Bake.tableName} " +
        "left outer JOIN ${Ingredient.tableName} ON ${Bake.tableName}.${Bake.Columns.bakeId} " +
        "= ${Ingredient.tableName}.${Ingredient.Columns.bakeId}" +
        " ORDER BY ${Bake.Columns.bakeId} DESC , ${Bake.Columns.startTime} DESC"
)
fun getBakesFlow(): Flow<Map<Bake, List<Ingredient>>>

我认为问题在于父表和子表的连接列名称完全相同

wsewodh2

wsewodh21#

看起来这是"2.4.3"版本的一个bug,我将room更新为"2.5.0-beta02",它不再发生。

相关问题