0

これは私のエンティティフィールド宣言です

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

エンティティの 2 つのインスタンスをまったく同じ名前で作成すると、SQLliteDatabase では問題なく両方を追加できます。私がDDMSを調べてチェックしたので、両方ともデータベースにデフォルトで追加されています。

Unique 制約を強制する他の方法はありますか?

4

2 に答える 2

2

問題にさらに3時間を落としましたが、最終的には解決しました。4.41 にアップグレードしましたが、違いはありませんでした。問題は、データベースが作成された後に制約を追加したことでした.Mathias Linに従って制約が存在するかどうかを確認したときに、それを見ることができませんでした. DBを削除して再作成しました。プレスト、うまくいきます。男子校生の間違い。

マティアス、私はあなたの答えを受け入れますが、コメントのようにはできません。

于 2012-07-05T07:43:29.043 に答える
0

ORMLite 4.41 以降のバージョンを使用する必要があると思います。私は同じ問題を抱えていました(4.38バージョンで)。バージョン 4.41 では、一意の制約が正常にマップされました。

于 2012-07-04T23:11:43.563 に答える