如何在grails中的遗留数据库中建模复合键
我有一个遗留数据库,其中包含由Grails域对象建模的三个表
class Foo {
static hasMany = [bars: Bar]
static mapping = {
version false
columns {
id column: "FooId"
fooProp column: "FooProp"
}
}
}
class Bar implements Serializable{
Baz baz
static hasMany = [foos: Foo]
static belongsTo = [Foo]
static mapping = {
version false
columns {
id composite: ["FooId", "BazId"]
baz column: "BazId"
barProp column: "BarProp"
}
}
}
class Baz {
static hasMany = [bars: Bar]
static mapping = {
version false
columns {
id column: "BazId"
bazProp column: "BazProp"
}
}
}
但是当我尝试部署它时,我得到以下异常
引起:org.springframework.beans.factory.BeanCreationException:创建名为'transactionManager'的bean时出错:在设置bean属性'sessionFactory'时无法解析对bean'sessionFactory'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'sessionFactory'的bean时出错:init方法的调用失败;嵌套异常是org.hibernate.HibernateException:缺少列:app.Bar中的id
我宁愿没有复合键但是我有严格的命令不要触摸DB所以现在我正在尽力模拟它,但复合键已经证明有点困难......