複合主鍵
JFinal ActiveRecord 從2.0 版本開始,採用極簡設計支援複合主鍵,對於Model 來說需要在映射時指定複合主鍵名稱,以下是具體範例:
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
// 多重資料來源的設定只是以下第二個參數指定一次複合主鍵名稱
arp.addMapping("user_role", "userId, roleId",UserRole.class) ;
//同時指定複合主鍵值即可尋找記錄 UserRole.dao.findById(123, 456);
//同時指定複合主鍵值即可刪除記錄 UserRole. dao.deleteById(123, 456);
// 多重資料來源的設定只是以下第二個參數指定一次複合主鍵名稱
arp.addMapping("user_role", "userId, roleId",UserRole.class) ;
//同時指定複合主鍵值即可尋找記錄 UserRole.dao.findById(123, 456);
//同時指定複合主鍵值即可刪除記錄 UserRole. dao.deleteById(123, 456);
如上程式碼所示,對於Model 來說,只需要在新增Model 映射時指定複合主鍵名稱即可開始使用複合主鍵,在後續的操作中 JFinal 會對複合主鍵支援的個數進行偵測,當複合主鍵數量不正確時會報異常,尤其是複合主鍵數量不夠時能夠確保資料安全。複合主鍵不限定只能有兩 個,可以是資料庫支援下的任多個。
對於Db + Record 模式來說,複合主鍵的使用不需要配置,直接用即可:
Db.findById("user_role", "roleId, userId", 123, 456);
Db.deleteById("user_role", "roleId, userId", 123, 456);
Db.deleteById("user_role", "roleId, userId", 123, 456);