加入查询时更改房间 ID
Room changing ids on join query
所以我们使用的是房间库,它很容易使用,但是我们遇到了一个问题,当我们使用连接查询时,房间正在改变对象的 ID。
@Query("select * from puzzles inner join list_puzzle_join on puzzles.id=list_puzzle_join.puzzleId where list_puzzle_join.puzzleListId=:puzzleListId")
List<Puzzle> getAllPuzzlesFromPuzzleList(String puzzleListId);
例如当我们得到拼图时使用 puzzlesDAO 我们得到这个 ids :
6c6a5f74-d5bb-45c5-922b-b95bf608854c ,
03e34887-0d7d-4b6f-85d4-0a38ce3c0da9 ,
a9ac3435-cd35-4f7c-8bd3-e91b5514ecd2 ,
当我们使用连接查询时,我们得到:
2ba31014-f105-4f15-be01-f167b9afef55 ,
a23a48de-7552-4b27-a49c-369c3949f45c ,
4b9034a2-4936-4741-9448-6c57855cee6a ,
是否有可能获得正确的结果,或者是设计成这样的吗??
我认为你想做的是select puzzles.*
而不是select *
。您现在使用的查询可能有 2 个 id
字段,这可能是根本原因。
所以我们使用的是房间库,它很容易使用,但是我们遇到了一个问题,当我们使用连接查询时,房间正在改变对象的 ID。
@Query("select * from puzzles inner join list_puzzle_join on puzzles.id=list_puzzle_join.puzzleId where list_puzzle_join.puzzleListId=:puzzleListId")
List<Puzzle> getAllPuzzlesFromPuzzleList(String puzzleListId);
例如当我们得到拼图时使用 puzzlesDAO 我们得到这个 ids :
6c6a5f74-d5bb-45c5-922b-b95bf608854c ,
03e34887-0d7d-4b6f-85d4-0a38ce3c0da9 ,
a9ac3435-cd35-4f7c-8bd3-e91b5514ecd2 ,
当我们使用连接查询时,我们得到:
2ba31014-f105-4f15-be01-f167b9afef55 ,
a23a48de-7552-4b27-a49c-369c3949f45c ,
4b9034a2-4936-4741-9448-6c57855cee6a ,
是否有可能获得正确的结果,或者是设计成这样的吗??
我认为你想做的是select puzzles.*
而不是select *
。您现在使用的查询可能有 2 个 id
字段,这可能是根本原因。