组合不创建外键引用

时间:2017-12-18 09:41:06

标签: grails gorm

我有两个域类,如下所示,

class Agent {
    String name
    Team team
}

class Team {
    String name 
    Agent primarySupervisor
    static hasMany = [secondarySupervisors:Agent]
}

每个代理人都有一个团队,每个团队都有一个主要主管和多个二级主管。

上面的代码没有为辅助主管映射创建表,如果我从代理域删除团队属性或从团队域删除primarySupervisor,则会创建映射表。< / p>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

此域类结构应该适合您。

 class Agent {
        String name
        static belongsTo = Team
        static hasOne = [team: Team] // Every agent has a team
    }

    class Team {
        String name 
        static hasMany = [secondarySupervisors:Agent] // every team has a primary supervisor and multiple secondary supervisors
    }

以下有很多关系会形成一个新表 team_agent