如何在ActiveAndroid中将自动增量值设置为主键

时间:2016-04-04 10:00:10

标签: activeandroid

我是活跃Android的新手,我已完成CRUD操作,但我无法为主键设置自动增量。我已经尝试了下面的代码,但它对我没用:

@Table(name = "Employee", id = "EmpId")

public class Employee extends Model {
    @Column(name = "empid")
    public long empid;
    @Column(name="name")
    public String name;
}

此处employee是我的表名。我有两个主要字段,一个是empidname。我需要将自动增量值设置为主键。 我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

要使用唯一列作为伪主键进行更新,注释将如下所示:

  @Column(name = "empid", unique = true, onUniqueConflict = Column.ConflictAction.REPLACE)
        public long empid;

我们可以在documentation中阅读:

  

需要注意的一点是,ActiveAndroid会创建一个 id字段   为你的表。此字段是自动递增主键

此外,如果您想在模型中创建自定义主键,可以检查GitHub issue connected with ActiveAndroid中提到的解决方案,如下所示:

 @Table(name = "Employee", id = "EmpId")

public class Employee extends Model {
    @Column(name = "id")
    public long id;
    @Column(name="name")
    public String name;
}

然后,id字段是自定义主键,它将自动递增。