加入查询的房间更改ID

时间:2018-12-06 02:36:39

标签: android sqlite join many-to-many android-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);

例如,当我们遇到难题时,使用puzzlesDAO可以得到以下ID:

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 ,

是否有可能获得正确的设计?或者设计成这样?

1 个答案:

答案 0 :(得分:1)

我认为您想做的是List<MessageItem> listResponse =response.body().getMessage(); String fname=listResponse.get(0).getEmpFirstName(); ,而不是select puzzles.*。您现在使用的查询可能有2个select *字段,这可能是根本原因。