gpt4 book ai didi

grails - 如何保持多对多关系的秩序

转载 作者:行者123 更新时间:2023-12-02 14:43:54 26 4
gpt4 key购买 nike

我的项目要求我保持多对多关系的插入和检索顺序。默认情况下,groovy将元素保存为多对多关系中的Set。我想在 list 中做。我不确定如何更新关系以使用List而不是Set。任何帮助,将不胜感激。

class Course{
static belongsTo = Teacher
static hasMany = [teacher:Teacher]

static mapping = {
teacher joinTable : [name: TeacherCourse]
}
}

class Teacher{

static hasMany = [course:Course]
static mapping = {
course joinTable : [name: TeacherCourse]
}
}

在Teacher或Course上调用save()还会在TeacherCourse表中插入新行。它没有问题。在数据库中,表为:
老师(PK:Id)
类(class)(PK:Id)
TeacherCourse(PK:[Teacher_id,Course_id])

有没有一种方法可以维持多对多关系中的插入和检索顺序?

谢谢..

编辑
在 Controller 中save()
def courseInstance = new Course()
List <Teacher> teacherList= []
teacherList.add(Teacher.findById(65))
teacherList.add(Teacher.findById(36))
courseInstance.courseUnits = teacherList
courseInstance.save(flush:true)

最佳答案

试试这个:

class Course {
List teachers

static belongsTo = Teacher
static hasMany = [teachers:Teacher]

static mapping = {
teachers joinTable : [name: TeacherCourse]
}
}

class Teacher {
List courses

static hasMany = [courses:Course]
static mapping = {
courses joinTable : [name: TeacherCourse]
}
}

Reference

关于grails - 如何保持多对多关系的秩序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21510696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com