【发布时间】:2017-09-21 11:18:10
【问题描述】:
我有一个 Account 类,其中包含许多经理(用户类)和代表(用户类)。
class Account {
static hasMany = { reps: User, managers: User }
}
然后,我有一个属于一个帐户的用户类。使用 User 类中的 Role Enum 将用户区分为经理或代表。
class User {
static belongsTo = { account: Account }
Role role
}
问题是,当我创建任何类型的用户并保存它时,Grails 最终会将该用户添加到帐户对象中的经理和代表集。
我意识到我需要在这里使用 mapped_by,但是我不明白应该如何使用它。经理和代表通过用户类中的角色枚举来区分。
我查看了几个 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)
}
【问题讨论】:
-
“问题是,当我创建任何类型的用户并保存它时,grails 最终会将该用户添加到帐户对象中的经理和代表集。”你能粘贴那个“创建”代码吗?
-
请检查编辑
标签: grails mapping grails-orm grails-domain-class