嗨,我真的不明白,这不起作用,但我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)
这不会引发任何错误,但也不会将任何内容持久存储到数据库中。
任何想法?
答案 0 :(得分:0)
Product p = new Product(name: "test")
Product part1 = Product.get(2)
Product part2 = Product.get(3)
p.addToParts(new Parts(product: part1))
p.addToParts(new Parts(product: part2))
p.save(flush: true, failOnError: true)
执行此操作的最佳方法是在.addToParts()
来电中创建新部件。
您的static belongsTo = Product
课程中似乎应该有Parts
。 (只允许多对多关系中的一方持续存在可以减少混淆)