Grails单向多对多
我有Java/JavaEE背景,最近开始了一个Grails项目 当我编写域模型时,有一个需求:单向多对多。我知道在Jpa/Hibernate中应该是怎样的。我在grails中对此进行了快速搜索,但grails似乎不支持它,一些人建议使用映射类(没有应该如何做的示例) 任何人都可以给我举个例子,或者我应该如何满足这个要求 例如:Grails单向多对多,grails,gorm,Grails,Gorm,我有Java/JavaEE背景,最近开始了一个Grails项目 当我编写域模型时,有一个需求:单向多对多。我知道在Jpa/Hibernate中应该是怎样的。我在grails中对此进行了快速搜索,但grails似乎不支持它,一些人建议使用映射类(没有应该如何做的示例) 任何人都可以给我举个例子,或者我应该如何满足这个要求 例如: class Teacher { static hasMany: [students: Student] } class Student { static bel
class Teacher {
static hasMany: [students: Student]
}
class Student {
static belongsTo: Teacher
static hasMany: [teachers: Teacher]
}
上述代码是使用Grails文档中的双向多对多方法完成的。单向多对多的代码是什么样的
此外,只有学生可以有教师参考,在教师课堂上,它不能得到学生名单
class Teacher {
String name
}
class Student {
String name
static hasMany = [teachers:StuTeach]
}
class StuTeach {
static constraints = {
}
static belongsTo = [teacher:Teacher,student:Student]
}
谢谢。我使用了三个班级,如教师、学生和中级教师。从学生可以访问教师参考。在教师方面,我们不能访问学生
class Teacher {
String name
}
class Student {
String name
static hasMany = [teachers:StuTeach]
}
class StuTeach {
static constraints = {
}
static belongsTo = [teacher:Teacher,student:Student]
}
在bootstrap中
def t1=new Teacher(name:"t1")
t1.save(flush:true)
def t2=new Teacher(name:"t2")
t2.save(flush:true)
def stu=new Student(name:"s1")
stu.save(flush:true)
def stuteach1=new StuTeach()
stuteach1.student=stu
stuteach1.teacher=t1
stuteach1.save(flush:true)
def stuteach2=new StuTeach()
stuteach2.student=stu
stuteach2.teacher=t2
stuteach2.save(flush:true)
stu.addToTeachers(stuteach1)
stu.addToTeachers(stuteach2)
stu.save(flush:true)
println stu.teachers.teacher
hibernate支持单向多对多关系,Grails也支持单向多对多关系:
如果将hashMany放在一边会发生什么?并使用联接表?这样你就可以在学生里面有一个老师的集合,一个老师可以和很多学生联系起来。也许我遗漏了什么。你不是在描述一对多吗?你能把想要的表格结构发布给sudhir吗?你是说代码与下面Anantha的代码相似吗?在教师端没有hasMany,而在联接表端有belongsTo?对James Kleeh来说,不,我不是在描述一对多,即多对多,并且有联接表的一对多。不鼓励只链接答案。请查收