房间查询内的访问对象字段

时间:2019-05-03 05:15:02

标签: android android-room

假设我们拥有User实体(跳过的注释)

class User{
    String name;
}

我想访问@Query内的用户名

@Query("insert into user(name) values(:user.name)")
void insertUser(User user);

以上示例仅用于演示目的。我无法使用@Insert,因为有复合主键,而且我在查询中手动增加了ID。

1 个答案:

答案 0 :(得分:0)

如果主键不是(autogenerate = true),则还应将ID传递给查询。

@Query("insert into user(id, name) values(:id, :name)")
void insertUser(int id, String name);

如果您想插入整个课程

@Insert
void Insert(User user);

其中“用户”以前是用您的值填充的。包括主键。