加入查询时更改房间ID



所以我们使用的是room库,它很容易使用,但我们有一个问题,当我们使用联接查询时,room会更改对象的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);

例如,当我们遇到谜题时,使用谜题DAO我们会得到以下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 ,

有可能得到正确的its吗?还是设计成这样??

我认为您想要做的是select puzzles.*,而不是select *。您现在使用的查询可能有2个id字段,这可能是根本原因。

最新更新