私は、Android上でSQLデータベースを管理するためにgreendaoを使用しています。今私は主キーとして2つの列を持つエンティティを生成するという問題に直面しています。私はcolumn1とcolumn2を持っていることを明確にするために、両方ともLong値であり、一緒に主キーを形成します。複数の列にあるGreenDaoの主キー
私は
@Index(unique = true)
private Long column1, column2
としてそれをモデル化しようとしたが、それは動作しません。 insertOrReplaceにしようとすると、単にcolumn1 idに基づいて置き換えようとすると、ユニークな制約が失敗してしまいます。
次のようにすることで、フィールドに固有の制約を追加することができました。 'customer'テーブルにfirstとlastの両方のフィールドに一意の制限があるようにしたい場合(実際には悪いですが例のみ)、次のように' @ Entity'アノテーション(GreenDao 3)に情報を入れます: '@Entity(nameInDb =" customer "、indexes = {@Index(value =" firstname、lastname "、unique = true)})' –
これはこれまでのところ最良の解決策であり、完全に機能します。 Greendaoのエンティティモデリングも同じことを言っています。 http://greenrobot.org/greendao/documentation/modellingentent/#crayon-5949da361cc17011493334 – xrnd