代码之家  ›  专栏  ›  技术社区  ›  I.S

如何只存储原始类型的长期使用房间?

  •  1
  • I.S  · 技术社区  · 7 年前

    我有ID列表,Long类型也是primaryKey,如果我这样存储的话,我想存储在DB中

     @Dao
    public interface UserId {
     @Query("SELECT * FROM ids")
    Flowable<List<Long>> allIds();
    
    
     @Insert(onConflict = OnConflictStrategy.REPLACE)
     List<Long> insert(List<Long> Ids);}
    

    错误:参数的类型必须是用@Entity注释的类或其集合/数组。

    1 回复  |  直到 7 年前
        1
  •  2
  •   CommonsWare    7 年前
    @Insert(onConflict = OnConflictStrategy.REPLACE)
    List<Long> insert(List<Long> Ids);
    

    A. Long 不是实体。您不能使用 @Insert 插入 长的 价值观

    • @插入 实际实体,或

    • @Query 方法,并使用SQL解释您计划使用这些 长的 价值观

    此外,我怀疑你现有的 @查询 可以 如果在定义 userfavoritestore 桌子但一旦你有了2个以上的整数字段,Room就不知道你想要哪一个了。代替 * @查询