Java Hibernate映射Grails异常。如何正确地映射这一点?
我试图理解当外部对象具有复合id时如何映射外键Java Hibernate映射Grails异常。如何正确地映射这一点?,java,grails,gorm,hibernate-mapping,Java,Grails,Gorm,Hibernate Mapping,我试图理解当外部对象具有复合id时如何映射外键 class Sector { int sectorId static belongsTo = [ company: Company ] static mapping = { id composite: ['company','sectorId'] company(column: 'company_id') table 'sectors' } } class Overtime { java.uti
class Sector {
int sectorId
static belongsTo = [ company: Company ]
static mapping = {
id composite: ['company','sectorId']
company(column: 'company_id')
table 'sectors'
}
}
class Overtime {
java.util.Date date
static belongsTo = [ sector: Sector, employee: Employee ]
static mapping = {
id composite: ['date','employee']
sector(column:['sector_id','company_id'])
}
}
class Employee {
long employeeId
String name
//...
static mapping = {
table 'employees'
version false
id column: 'employee_id', name: 'employeeId'
}
static hasMany = [ overtimes : Overtime ]
}
class Company {
String companyCode
String companyName
static mapping = {
version false
table 'companies'
id column: 'company_id',name: 'companyCode'
}
static hasMany = [sectors : Sector]
}
但是这个映射给了我一个错误:
.hibernate.MappingException: Foreign key (FK9E82D8D2219D889E:overtime [sector_id, company_id,sectors_sector_id,sectors_sector_id])) must have same number of columns as the referenced primary key (sectors[company_id,sector_id])
我缺少什么?您能为所有域对象添加代码吗?@allthenuts和螺栓我添加员工域和公司域。