假设我有以下内容:
class ObjectA implements Serializable {
Foo foo
String objectType
static mapping = {
version false
id composite: ['foo', 'objectType']
foo column: 'foo'
objectType column: 'objecttype'
}
}
现在,我需要从另一个域引用该对象。
class ObjectB {
ObjectA objectA
columns {
objectA{
column name: 'foo'
column name: 'objecttype'
}
}
}
当我尝试加载ObjectB时,得到以下信息:
Cannot treat multi-column property as a single-column property
我应该如何映射呢?
最佳答案
我只想问一下您想对“列”部分做什么,因为我不熟悉该概念? This堆栈溢出链接可能会有所帮助。
但是,如链接中所示,如果要引用该对象,则应在两个域之间创建关系(示例中的关系是单向的)。
class Object B {
static hasOne[objectA:ObjectA]
....
}
真的,除此之外,还没有更多。您可以使用ObjectBInstance.objectA.channelName从 View 中的objectA访问字段。
关于grails - 如何将引用映射到具有复合键ID的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31326667/