2014-04-04 82 views
1

我有一個遺留數據庫(MSSQL),我試圖通過grails進行連接。該表具有名稱爲「ClaimSubmissionId」的主鍵。如何將此密鑰映射到grails域? 目前我的Grails域看起來是這樣的:grails域的自定義主鍵

class ClaimSubmission { 

    Integer ClaimSubmissionId 

    ... Other Fields ... 

    static constraints = { 
    } 

    static mapping = { 
     datasource("mssql_external") 
     table 'ClaimSubmissionRequests' 
     version false 
     id generator: 'identity', name: "ClaimSubmissionId", type: 'Integer', column:"ClaimSubmissionId" 

     columns{ 
//   id column: "ClaimSubmissionId" 
      ... Other Fields ... 
     } 
    } 
} 

字段「ClaimSubmissionId」應該工作作爲主鍵,必須是唯一的,自動分配和增量。目前,我得到這個錯誤

Error evaluating ORM mappings block for domain [com.company.project.ClaimSubmission]: null 

我也試圖把id字段列封閉物,在註釋部分,如上圖所示,但沒有奏效。

回答

2

這應該這樣做:

class ClaimSubmission { 
    Integer claimSubmissionId 

    static mapping = { 
     datasource("mssql_external") 
     table 'ClaimSubmissionRequests' 
     version false 

     id column: "ClaimSubmissionId", //actual column name from db 
      name: "claimSubmissionId", //used lower camelCase for field names 
      type: 'integer',    //lower case 
      generator: 'identity' 

    } 
}