gpt4 book ai didi

grails - 如何在域类之间创建多个一对多关系

转载 作者:行者123 更新时间:2023-12-02 14:39:42 25 4
gpt4 key购买 nike

我有一个Account类,其中有许多经理(User类)和代表(User类)。

class Account {
static hasMany = { reps: User, managers: User }
}

然后,我有一个属于一个帐户的User类。使用User类中的角色枚举将用户区分为经理或代表。
class User {
static belongsTo = { account: Account }
Role role
}

问题是,当我创建任何类型的用户并将其保存时,Grails最终都会将该用户添加到帐户对象中的经理和销售代表集。

我意识到我需要在这里使用mapped_by,但是我不知道应该如何使用它。管理器和代表通过User类中的角色枚举来区分。

我看过几个stackoverflow问题 #1#2,但是大多数时候,其他关系可以解决问题。

我特别想在Account和User类之间使用2对多关系。

编辑:初始化代表的代码:
def addRep(manager) {
User rep = new User( account: manager.account,
role: Role.REP)
rep.save(flush: true, failOnError: true)
}

最佳答案

您需要指定要使用的关联:

def addRep(manager) {
User rep = new User(role: Role.REP)
manager.account.addToReps(rep) // This will do the bi-association
rep.save(flush: true, failOnError: true)
}

关于grails - 如何在域类之间创建多个一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46342563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com