一个关于Hibernate多对多映射的查询问题

fengyuyaoye 2009-05-28
以下有三个数据表,分别为学生表,课程表和成绩表。根据数据表创建了三个对象。
学生与课程为多对多的关联关系,现将之转换为学生与成绩和课程与成绩两个一对多的关联关系
create table student(
        `id` CHAR(32) not null,
       `student_name` VARCHAR(20) not null,
         primary key (`id`)
    );

create table course(
        `id` CHAR(32) not null,
        `course_name` VARCHAR(30) not null,
        primary key (`id`)
    );

//成绩表
create table score(
        `id` CHAR(32) not null,
        `score` int not null,
        `student_id` CHAR(32) not null,
        `course_id`  CHAR(32) not null,
        primary key(`id`)
   );
//创建两个外键
alter table score
        add constraint `fk_student_id`
        foreign key (`student_id`)
        references student(`id`);

    alter table `biology`.`score` 
        add constraint `fk_experiment_id`
        foreign key (`course_id`)
        references course(`id`);

public class Student{
    private String id;
    private String studentName;
    private Set<Score> scores = new HashSet<Score>();
//省略set,get方法
}

public class Course{
    private String id;
    private String courseName;
    private Set<Score> scores = new HashSet<Score>();
//省略set,get方法
}

public class Score{
    private String id;
    private Integer score;//成绩属性
     private Student student;
    private Course course;
//省略set,get方法
}
   
//Student.hbm.xml,Course.hbm.xml和Score.hbm.xml三个文件省略。

现在的问题是如何用HibernateTemplate类来处理查询某一学生在某一特定的课程中的成绩。(HQL语言)
该问题困扰了我很长时间,希望各位给与指教!
handby123 2009-07-21
from Score s where s.student.id = 1 and s.course.id = 1;

handby123 2009-07-21
看错了 楼下的话是废话
handby123 2009-07-21
看多了不好意思
左撇子001 2010-12-23
我也很期待答案
Global site tag (gtag.js) - Google Analytics