2015-04-24 3 views
0

Я отменил создание базы данных для классов домена. Когда я пытаюсь запустить приложение, я получаю сообщение об ошибкеОтсутствует идентификатор столбца

Потерялись Колум:tbl_fiscal_year_id в tblAccessRight.

Определения и отображение для классов домена является

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 указать, какой столбец (tbl_fiscal_year_id в данном случае) tblFiscalYear имеет в виде:

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. –

Смежные вопросы