Здравейте, опитвам се да създам клас на домейн с ограничение за външен ключ към друг съществуващ клас на домейн. Новият клас на домейн е 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“, но без ограничение за външен ключ. Имам нужда да сочи към id колона на таблицата с ресурси
Опитах няколко опции, като нямах спецификатора за принадлежност, използвах 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)
alter table
от съобщението за грешка директно в базата данни? - person socha23   schedule 22.12.2011