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
}
}
tblFiscalYear中没有该名称的列 – allthenutsandbolts
“tblAccessRight”中没有此列吗?上面的映射是针对'TblAccessRight'域类的。 – dmahapatro
这不可能是正确的答案,因为它与没有映射条目时使用的相同。所有属性的默认值是将骆驼大小写的名称转换为下划线,并且当该属性是对另一个域类的引用时,还要添加'_id'后缀,因为它将是FK列。 –