1

我们有两个域类

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
4

0 回答 0