複数の @Id (JPA アノテーションでアノテーションが付けられた) フィールドと、ormlite がサポートしていないその他のアノテーションを持つ、変更できないクラスがあります。そのため、クラスに注釈を付けるために Java コードを使用してテーブルを作成しています。
ただし、クラスに追加のフィールドを追加する機能がないと、複数の主キー - ORMliteで説明されている UniqueCombo トリックは機能しません。たとえば、次のような理由があります。
class A {
@Id
int key1;
@Id
int key2;
}
次の Java コードを使用して、ormlite テーブル構成を作成します。
DatabaseField f = new DatabaseField("key1");
f.setId(true);
f.setUniqueCombo(true);
fieldConfig.add(f);
f = new DatabaseField("key2");
f.setUniqueCombo(true);
fieldConfig.add(f);
それらのいずれかを PK (setId(true)) として設定すると、データが実際に異なる場合、同じキーで別の行を作成しようとすると、DB は満足しません。クラスAを変更せずにこの問題を解決する方法はありますか?