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了。
本文介绍在使用GreenDao框架进行Android应用开发时遇到的一个关于主键自增类型的常见问题。作者分享了如何正确地定义实体类的主键属性以实现自增功能,并解决了因类型不当导致的主键唯一性冲突错误。

1560

被折叠的 条评论
为什么被折叠?



