GreenDao主键自增踩的坑

Android使用GreenDao来管理数据库很是方便,最近使用GreenDao设置主键id自增,踩到个坑,在此记录。

bean类声明主键自增:

@Entity
public class Person {

    @Id(autoincrement = true)
    private long id;
    private String name;
    private String age;

 

结果插入数据时,报如下错误:

android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: PERSON._id (code 1555)

说是主键必须是唯一的,主键不是自增的吗?怎么会不唯一呢?原来原因是主键自增类型必须是Long(注意是大写的L),而不是小写的long类型。修改后再运行,ok了。

你可能感兴趣的:(Android)