一个关于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
我也很期待答案
|