2015-04-24 71 views
0

我將數據庫設計爲域類。當我嘗試運行應用程序,我得到一個錯誤缺少列標識

缺少科拉姆:tbl_fiscal_year_idtblAccessRight

的爲域等級的定義和映射如下

class TblAccessRight {  
    long rightID 
    Character code 
    String name 
    Boolean active 
    TblFiscalYear tblFiscalYear 

    static hasMany = [tblPrivileges: TblPrivilege, 
         tblResourceTypes: TblResourceType] 

    static mapping = { 
     id column: "RightID", generator: "assigned",name:'rightID' 
     version false 
     table 'tblAccessRight' 
    } 

    static constraints = { 
     code maxSize: 1 
     name nullable: true, maxSize: 64 
    } 
} 

class TblFiscalYear { 
    String fiscalYear 
    String title 
    Boolean active 
    Character defaultFy 

    static hasMany = [tblAccessRights: TblAccessRight, 
         tblAppropriationGroups: TblAppropriationGroup, 
         tblBudgetProjectNames: TblBudgetProjectName, 
         tblC3ipocs: TblC3ipoc, 
         tblCises: TblCis, 
         tblCommentses: TblComments, 
         tblContractors: TblContractor, 
         tblCotrs: TblCotr, 
         tblDasds: TblDasd, 
         tblDirectors: TblDirector, 
         tblKeys: TblKey, 
         tblMiprpocs: TblMiprpoc, 
         tblObjectiveses: TblObjectives, 
         tblOp32s: TblOp32, 
         tblOrcs: TblOrc, 
         tblPeprojects: TblPeproject, 
         tblProgramElements: TblProgramElement, 
         tblPrograms: TblProgram, 
         tblResourceTypes: TblResourceType, 
         tblResources: TblResource, 
         tblRoles: TblRole, 
         tblTrackChangeses: TblTrackChanges, 
         tblTransactionses: TblTransactions] 

    static mapping = { 
     id name: "fiscalYear", generator: "assigned" ,type:'string', column:'FiscalYear' 
     version false 

     table 'tblFiscalYear' 
    } 

    static constraints = { 
     fiscalYear maxSize: 4 
     title nullable: true, maxSize: 48 
     defaultFy nullable: true, maxSize: 1 
    } 
} 

回答

1

您必須修改TblAccessRight映射到指定tblFiscalYear指的是哪些(在這種情況下tbl_fiscal_year_id)柱:

static mapping = { 
    table 'tblAccessRight' 
    id column: "RightID", generator: "assigned",name:'rightID' 
    tblFiscalYear column: 'tbl_fiscal_year_id' 
    version false 
} 
+0

tblFiscalYear中沒有該名稱的列 – allthenutsandbolts

+1

「tblAccessRight」中沒有此列嗎?上面的映射是針對'TblAccessRight'域類的。 – dmahapatro

+0

這不可能是正確的答案,因爲它與沒有映射條目時使用的相同。所有屬性的默認值是將駱駝大小寫的名稱轉換爲下劃線,並且當該屬性是對另一個域類的引用時,還要添加'_id'後綴,因爲它將是FK列。 –