我在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>>>
我认为问题在于父表和子表的连接列名称完全相同
1条答案
按热度按时间wsewodh21#
看起来这是
"2.4.3"
版本的一个bug,我将room更新为"2.5.0-beta02"
,它不再发生。