这是一个语法问题。我想要一个Foo之间的一对多关系 - > Bar(简称):
class Foo {
String fooPK1, fooPK2
static mapping = {
id composite: ["fooPK1", "fooPK2"]
}
static hasMany = [bars: Bar]
}
class Bar {
String fooPK1, dumbNameForFooPK2, barPK1, barPK2
Foo myFoo
static mapping = {
id composite: ["barPK1", "barPK2"]
columns {
myFoo[:] {
column name: "FOO_PK_1"
column name: "?????????????"
}
}
}
}
在这种情况下,显然Foo.fooPK1映射到Bar.fooPK1,但我需要Foo.fooPK2映射到Bar.dumbNameForFooPK2。希望这是有道理的。
我的问题是我不知道语法应该是什么(或者如果有更好的方法可以做到这一点!)而且从我能找到的内容来看,grails文档并没有真正帮助。
答案 0 :(得分:1)
你需要重命名Bar,wright中的外键列声明吗?
class Bar {
Foo myFoo
static mapping = {
columns {
myFoo {
//declare them in the order of your id composite.
column name: "foo_pk_1"
column name: "dumb_name_for_foo_pk_2"
}
}
}
}