2012-06-28 20 views
2

對於鍵入的主鍵(及其子類anorm.NotAssigned),Anorm具有特殊類型anorm.Pk。如果數據庫負責生成相關密鑰,則允許分配NotAssigned值。如何使用anorm處理未分配的ID?

對外鍵是否有等價的概念?目前我正在使用Long。但是,如果外鍵還不知道,我將不得不指定null值或將其替換爲Option[Long]。儘管如此,這感覺不像它的意圖。

回答

0

Anorm不提供圍繞關係的功能。

將您的FK帶出您的模型,但接受FK作爲您的CRUD的參數,例如,創建「做作」屬於用戶:

def create(c: Contrived, userId: Long) 
    DB.withConnection { implicit connection => 
    val id = SQL(""" 
     insert into c 
     (first, second, login_id) 
     values 
     ({first}, {second}, {login_id}) 
     """).on(
    'first -> c.first, 
    'second -> c.second, 
    'login_id -> userId 

...等

+0

這聽起來像一個很好的解決方案,如果你對創造'user's和'c's的單獨行動。但是,我正在使用單個操作並結合重複的表單值。 – fynn

+0

對不起,我試圖弄清楚如何說「我已經回答了你的問題」,而不是試圖聽起來像理查德:)爲此提出一個單獨的問題,因爲它轉向關於是否有一個FK等同於PK。 – opyate