加入查询时更改房间 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 字段,这可能是根本原因。