【发布时间】:2014-09-22 16:40:04
【问题描述】:
嗨,我真的不明白为什么这不起作用,但我 99% 确定这是 GORM 问题。
这是我的域名:
Class Product{
String name
static hasMany = [parts:Parts]
static mappedBy = [parts:'product']
}
Class Parts{
Product product
static hasMany = [alternatives:Alternatives]
}
所以产品由零件组成,零件指向产品 当我执行以下操作时,它不会保存到数据库中。
Product p = new Product(name:"test")
Product part1 = Product.get(2)
Product part2 = Product.get(3)
Parts c = new Parts(product: part1).save(flush:true,failOnError:true)
Parts c2 = new Parts(product: part2).save(flush:true,failOnError:true)
p.addToParts(c)
p.addToParts(c2)
p.save(flush:true,failOnError:true)
这不会引发任何错误,但也不会将任何内容持久化到数据库中。
有什么想法吗?
【问题讨论】:
-
你不应该在
Product中有static hasMany = [parts:Parts]吗? -
改变了它。在我的代码中就是这样。这仍然不起作用
-
产品和零件之间是o2m还是m2m?
标签: grails grails-orm