Java android room get HashMap grom db

问题描述 投票:0回答:1

这是我的实体;

public class LoadingRow {
    @PrimaryKey(autoGenerate = true)
    @ColumnInfo(name = "id")
    public long id;
    @ColumnInfo(name = "orderId")
    public long orderId;
    @ColumnInfo(name = "binType")
    private String binType;
    @ColumnInfo(name = "trashType")
    private String trashType;
    @ColumnInfo(name = "count")
    private int count;
    @ColumnInfo(name = "status")
    private String status;
}

这是我的dao函数

 @Query("SELECT * FROM bin")
    Map<Long,List<LoadingRow>> getBinsMap();

而且问题是我想获得一个HAshMap

其中键是orderId,加载列表是所有加载orderId都相同的列表

java android android-room
1个回答
0
投票

我不相信使用Room可以实现您的要求。如果我弄错了并且有可能,那应该很复杂。

您最好创建一个查询来获取具有相同LoadingRow的所有orderId对象,如下所示:

@Query("SELECT * FROM bin WHERE orderId = :orderId")
List<LoadingRow> getRowsById(long orderId)

然后,您可以根据需要使用此集合,并将其插入到HashMap中。

© www.soinside.com 2019 - 2024. All rights reserved.