Grails/Hibernate-查询关联
我正在努力处理Grails(Hibernate)查询 我有一个表(ExamLog),它跟踪每次在试题库中修改一个考试问题 ExamLog表具有以下属性:logId(PK)、exam(FK)、question(FK)、comments、oldMark、newMark、dateModified。 考试表具有以下属性:examId(PK)、questionsId(FK)、lastUsed、versionCode…等, “问题”表具有以下属性:问题ID(PK)、描述、困难级别、avgPassed等 我的域名如下所示:Grails/Hibernate-查询关联,hibernate,grails,gorm,executequery,Hibernate,Grails,Gorm,Executequery,我正在努力处理Grails(Hibernate)查询 我有一个表(ExamLog),它跟踪每次在试题库中修改一个考试问题 ExamLog表具有以下属性:logId(PK)、exam(FK)、question(FK)、comments、oldMark、newMark、dateModified。 考试表具有以下属性:examId(PK)、questionsId(FK)、lastUsed、versionCode…等, “问题”表具有以下属性:问题ID(PK)、描述、困难级别、avgPassed等 我的
class ExamLog{
Exams exam;
Questions question;
String comments;
Integer oldMark;
Integer newMark;
String dateModified;
static belongsTo = [exam: Exams, question: Questions]
}
class Exams{
Question questions;
Integer versionCode;
Integer lastUsed;
}
class Questions{
String description;
Integer difficultyLevel;
Boolean avgPassed;
}
我试图为每次考试获取一个问题列表,其中avgPassed=false,这样我就可以计算出测试库中有多少问题没有通过
我看过StackOverflow的例子,但仍然有困难。这是我尝试过的方法,但无论哪种方法,我都没有得到正确的结果。
使用sql:
ExamLog.executeQuery("Select exam_log.exam_id, count(avgPassed) from exam_log, question where exam_log.exam_id = question.exam_id group by(exam_log.exam_id");
使用Grails Hibernate标准:
def outstanding = ExamLog.createCriteria().list{
projections{
exams{
questions{
eq("avgPassed",false)
}
}
}
}
您真的这样命名变量
avgPassed>70
?我说不出话来……我认为他/她没有给它命名,因为我认为它甚至不会编译。你真的这样命名变量avgPassed>70
?我说不出话来……我不认为他/她会说出这个名字,因为我认为这甚至不会被编译。