有三个类Student、Course、Score。Student.javapublic class Student {
private int id;//学号    
private String name;//姓名 
private Set<Course> courses;//课程集
}
Course.javapublic class Course {
private int id;//课程号
private String name;课程名
private Set<Student> students;//学生集
}
Score.javapublic class Score {
private int score;//分数
}
数据库表:
表t_student字段有:
ID(自增主键)、NAME表t_course字段有:
ID(自增主键)、NAME表t_stu_cou_score字段有:
SID、CID、SCORE我只知道在不需要查成绩的情况下,即t_stu_cou_score表中只有sid和cid字段而且不需要Score类,那么Student和Course就可以通过Hibernate的“多对多”的关系在xml文件中设置且仅需设置Student.hbm.xml和Course.hbm.xml文件即可。配置信息如下:Student.hbm.xml<hibernate-mapping>
<class name="com.cn.Student" table="t_student" >
<id name="id" type="java.lang.Integer">
<column name="ID" length="4" />
<generator class="native"/>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<set name="courses" lazy="true" cascade="all" table="t_stu_cou_score">
<key column="SID"></key>
<many-to-many class="com.cn.Course" column="CID" />
</set>
</class>
</hibernate-mapping>
Course.hbm.xml<hibernate-mapping>
<class name="com.cn.Course" table="t_course">
<id name="id" type="java.lang.Integer">
<column name="ID" length="4" />
<generator class="native"/>
</id>
<property name="name" type="java.lang.String">
<column name="NAME" />
</property>
<set name="students" lazy="true" cascade="all" table="t_stu_cou_score">
<key column="CID"></key>
<many-to-many class="com.cn.Student" column="SID" />
</set>
</class>
</hibernate-mapping>
如果要获取学生的成绩就是student.courses,如果要获取选修该课程就是course.students.但是现在多了个Score类而且t_stu_cou_score还多了个score字段(也即中间表多了非外键的其他字段),该如何设置呢?如果要获取某一学生的某一课程的成绩该如何调用呢?这3个类该如何修改?