複合主キー


JFinal ActiveRecord はバージョン 2.0 から始まり、複合主キーをサポートするための最小限の設計を使用しています。モデルの場合、マッピング時に複合主キー名を指定する必要があります。具体的な例を次に示します。

ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin) );
// 複数のデータソースの構成は次のとおりです: 2 番目のパラメーターは複合主キー名を 1 回指定します
arp.addMapping("user_role", "userId, roleId", UserRole.class);

//複合主キー値を同時に指定してレコードを検索 UserRole.dao.findById(123, 456);

//同時に複合主キー値を指定してレコードを削除 UserRole.dao.deleteById(123, 456);

上記のコードに示すように、Model の場合、モデル マッピングを追加するときに複合主キー名を指定するだけで、後続の操作で複合主キーの使用を開始できます。サポートされているキーの数が正しくない場合、特に複合主キーの数が不十分な場合は例外が報告されます。複合主キーは 2 つだけという制限はなく、データベースでサポートされている任意の数にすることができます。

Db + Record モードの場合、複合主キーの使用には構成は必要ありません。直接使用するだけです:

Db.findById("user_role", "roleId, userId", 123, 456);
Db.deleteById ( "user_role", "roleId, userId", 123, 456);