grails多对多且一对​​一且属于

时间:2017-04-06 14:30:36

标签: grails many-to-many gorm belongs-to

我试图通过Grails / Gorm实现以下目标:

有些用户是讲师。一些用户可以成为几位讲师的助手,而且几位讲师可以有几位助手。

我尝试为用户和讲师之间的现有一对一关系添加额外的多对多关系,但保持belongsTo

这就是我之前所拥有的:

class User {
   ...    
   Lecturer lecturer
}

class Lecturer {
   ...
   static belongsTo = [user:User]
}

然后我添加了多对多关系:

class User {
   ...
   Lecturer lecturer
   static hasMany = [lecturers: Lecturer]
}

class Lecturer {    
   static belongsTo = [user:User, assistants:User]
   static hasMany = [assistants: User]    
}

我得到三张桌子:

用户:

------------------------------
| id | .. | lecturer_id | .. |
------------------------------

讲师:

-----------
| id | .. |
-----------

user_lecturer:

-----------------------------------
| user_lecturers_id | lecturer_id |
-----------------------------------

当我现在在没有助理的情况下致电讲师助理时,我会得到一个用户。这是不正确的,因为表是空的。所以,我猜这个关系被解释为一对多,并且给了我讲话者匹配的用户。

诀窍是什么? (mappedBy?)

提前致谢。

0 个答案:

没有答案