域类:
class Carnet extends Purchasable{
Payment payment
}
class Training extends Purchasable{
static hasMany = [payments:Payment]
}
class Payment {
static belongsTo = [purchase:Purchasable]
}
class Purchasable {
Float price
static constraints = {
}
static mapWith = "none"
static mapping = {
tablePerHierarchy false
}
}
不幸的是,当我尝试grails run-app
时,我得到了:
错误org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000388:不成功:alter table payment add constraint FK_6ohgqce5txqxe8l8wkkkgjlc0外键(purchase_id)引用培训(id)
错误org.hibernate.tool.hbm2ddl.SchemaUpdate - 无法写入;表'#sql-690_99'
中的重复键
应用程序正在启动,但db中的carnet表未创建,因此稍后我收到MySQL异常。此外,还创建了可购买的表格(我根本不需要它)。
我试图将Purchasable
作为src / groovy的接口移动,但我不确定如何正确地做到这一点。你知道怎么解决吗?