同一 class 上的多对多关系

many to many relationship on the same class

如标题所述,我需要告诉 grails GORM 域 class 与其自身存在多对多关系。 在我的系统中,我有一个class“课程”,这个“课程”class可以有none,一个或多个相关词。
举个例子:

数学分析2

我有以下内容:

class Course {
    String name
    static hasMany = [correlatives: Course]
    static belongsTo = [target_course: Course]
}

但它似乎并没有像我预期的那样对数据库产生影响。

我希望有一个 course_course table,它本身具有多对多,如下所示:

course_course
int id_course_course
int id_correlative_course 
int id_target_course

我是不是漏掉了什么重要的东西?请帮忙!

您不需要多对多 table 来表示。虽然每个 Course 可能“有很多”相关课程,但每个相关课程只有一个父课程。

这足以用一个 table 表示(很大程度上取决于您指定的任何映射):

course:
    id (int)
    name (varchar)
    target_course_id (int, nullable)