Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是我的实体字段声明
@DatabaseField( canBeNull = false , unique = true ) private String name;
当我创建两个具有完全相同名称的实体实例时,SQLliteDatabase 允许我添加两者都没有问题。当我通过 DDMS 并检查时,两者都被添加到数据库中。
任何其他方式我可以强制唯一约束?
好吧,在这个问题上又花了 3 个小时,但最终解决了。我已经升级到 4.41,但这没有任何区别。问题是我在创建数据库后添加了约束,当我按照 Mathias Lin 检查约束是否存在时,我看不到它。我删除了数据库并重新创建了它。Presto,工作正常。真的是男生错误。
Mathias,我会接受您的回答,但不能像评论中那样。
我认为您应该使用 ORMLite 4.41 或更高版本。我遇到了同样的问题(使用 4.38 版本)。在 4.41 版本中,唯一约束已成功映射。