这是一个语法问题。我想要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文档并没有真正的帮助。
最佳答案
您需要在Bar中重命名外键列声明,对吗?
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"
}
}
}
}
关于grails - 一对多的组合键和Grails中的不同列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16487271/