Grails GORM:列出所有嵌套属性
我的(简化)域模型如下所示:Grails GORM:列出所有嵌套属性,grails,groovy,gorm,Grails,Groovy,Gorm,我的(简化)域模型如下所示: class Student { static hasMany = [professions:StudentProfession]; } class StudentProfession { static belongsTo = [student:Student]; Profession profession; } class Profession { String name; } 最有效的方法是什么: 列出所有学习“程序员”
class Student {
static hasMany = [professions:StudentProfession];
}
class StudentProfession {
static belongsTo = [student:Student];
Profession profession;
}
class Profession {
String name;
}
最有效的方法是什么:
列出所有学习“程序员”和“经理”专业的学生
在查询数据库后,我是否必须过滤掉它们
students = students.findAll { student ->
student.professions.find { professionNames.contains(it.profession.name) } != null
}
可以使用GORM查询执行此操作:
def studends = Student.where {
professions {
profession.name == "Programmer" || profession.name == "Manager"
}
}
给这只猫剥皮的方法很多-这里有一个:
StudentProfession.findAllByProfessionInList(Profession.findAllByNameInList(["Programmer","Manager"])*.student.unique()