我们有两个域类
class FeeGroup {
String name;
static hasMany = [priceRanges:PriceRange]
和
class PriceRange {
Integer from;
Integer to;
Boolean include;
static belongsTo = [feeGroup:FeeGroup]
从我的前端应用程序中,我收到 JSON 格式的表单
{
"name":"fee group 1",
"priceRanges":[
{"from":10, "to":20, "include":true},
{"from":20, "to":40, "include":true},
{"from":30, "to":60, "include":true}
]
}
现在我想简单地保存所有数据
def model = new FeeGroup(data)
model.save()
使用此代码还应保存 priceRanges。这有什么问题?因为这只节省了 FeeGroup!奇怪的是当你
println model.priceRanges
在 model.save() 之后,它还将打印 PriceRanges 的新 ID - 但数据库中没有任何内容,Hibernate 中也没有(这里刷新没有帮助)。
文档中到处都是我应该使用 model.AddToPriceRanges 但为什么呢?为什么一对一工作得很好,而一对多却不行?
我已经尝试将 FeeGroup 域类更改为
class FeeGroup {
String name;
Set priceRanges
static hasMany = [priceRanges:PriceRange]
现在简单的保存工作完美,但 GORM 创建了一个连接表 fee_group_price_range...我不想为 hasMany 连接创建 3 个表。这不是一个好的解决方案。
谢谢你的建议
编辑
3 个表不是因为 FeeGroup Class 的变化,而是因为将 PriceRange Class 更改为
class PriceRange {
Integer from;
Integer to;
Boolean include;
static belongsTo = FeeGroup