0

这是我的实体字段声明

    @DatabaseField( canBeNull = false , unique = true )
private String name;

当我创建两个具有完全相同名称的实体实例时,SQLliteDatabase 允许我添加两者都没有问题。当我通过 DDMS 并检查时,两者都被添加到数据库中。

任何其他方式我可以强制唯一约束?

4

2 回答 2

2

好吧,在这个问题上又花了 3 个小时,但最终解决了。我已经升级到 4.41,但这没有任何区别。问题是我在创建数据库后添加了约束,当我按照 Mathias Lin 检查约束是否存在时,我看不到它。我删除了数据库并重新创建了它。Presto,工作正常。真的是男生错误。

Mathias,我会接受您的回答,但不能像评论中那样。

于 2012-07-05T07:43:29.043 回答
0

我认为您应该使用 ORMLite 4.41 或更高版本。我遇到了同样的问题(使用 4.38 版本)。在 4.41 版本中,唯一约束已成功映射。

于 2012-07-04T23:11:43.563 回答