同一 class 上的多对多关系
many to many relationship on the same class
如标题所述,我需要告诉 grails GORM 域 class 与其自身存在多对多关系。
在我的系统中,我有一个class“课程”,这个“课程”class可以有none,一个或多个相关词。
举个例子:
数学分析2
- 要学习数学分析 2 课程,您需要获得批准的数学分析 1 和物理课程。
- 数学分析1没有任何相关课程或课程被批准任何人都可以参加该课程。
我有以下内容:
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)
如标题所述,我需要告诉 grails GORM 域 class 与其自身存在多对多关系。
在我的系统中,我有一个class“课程”,这个“课程”class可以有none,一个或多个相关词。
举个例子:
数学分析2
- 要学习数学分析 2 课程,您需要获得批准的数学分析 1 和物理课程。
- 数学分析1没有任何相关课程或课程被批准任何人都可以参加该课程。
我有以下内容:
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)