2

私の(簡略化された)ドメインモデルは次のようになります。

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
}
4

2 に答える 2

7

これは、GORMクエリを使用して実行できます。

def studends = Student.where {
  professions {
      profession.name == "Programmer" || profession.name == "Manager"
  }
}
于 2013-01-14T18:43:21.327 に答える
3

この猫の皮を剥ぐ方法はたくさんあります-これが1つです:

StudentProfession.findAllByProfessionInList(Profession.findAllByNameInList(["Programmer","Manager"])*.student.unique()
于 2013-01-14T19:08:38.633 に答える