Привет. Я пытаюсь создать класс домена с ограничением внешнего ключа для другого существующего класса домена.
Новый класс домена - ArEntitlement, определенный как ниже
package ars
import gra.Resources
class ArEntitlement {
long id
String entitlementname
String entitlementdesc
String entitlementcomm
Integer departmentid
Resources resource
Integer version
static belongsto =[resource : Resources]
static mapping={
table 'ar_entitlement'
id(generator:'increment')
column{
id(column:'id')
}
}
}
Класс домена ресурса определяется следующим образом (он был создан ранее)
package gra
import com.gra.transaction.UserTransaction
class Resources {
Long id=1
String resourceName
Double resourceType
String resourceOwner
Double riskScore
Integer decommissioned
String resourceClass
Long resourceSegment
String targetIp
String resCriticality
Long resourceGroup
Integer disabled
static hasMany=[userTransactions:UserTransaction]
static mapping = {
table 'resource'
version false
id(generator:'increment')
column{
id(column:'id') }
}
static constraints=
{
resourceName(nullable:true,blank:false)
resourceType(nullable:true,blank:false)
resourceOwner(nullable:true,blank:false)
riskScore(nullable:false,blank:false)
decommissioned(nullable:false,blank:false)
resourceClass(nullable:false,blank:false)
resourceSegment(nullable:false,blank:false)
targetIp(nullable:false,blank:false)
resCriticality(nullable:true,blank:false)
resourceGroup(nullable:false,blank:false)
disabled(nullable:false,blank:false)
}
}
Созданные результирующие таблицы не имеют сопоставления внешнего ключа таблицы ar_entitlement с таблицей ресурсов, оно создает столбец с именем 'resource_id', но без ограничения внешнего ключа.
Мне нужно, чтобы он указывал на столбец идентификатора таблицы ресурсов
Я пробовал несколько вариантов, не имея спецификатора ownsto, используя hasOne (в обоих классах домена), но не получая требуемого отношения внешнего ключа.
Есть идеи, в чем тут проблема?
ошибка журнала, которую я получаю
2011-12-21 19:50:17,258 [main] ERROR hbm2ddl.SchemaUpdate - Unsuccessful: alter table ar_entitlement add index FKDCD6161FEFD54E5E (resourceid_id), add constraint FKDCD6161FEFD54E5E foreign key (resourceid_id) references resource (id)