关于Hibernate“多对多”配置有关问题,该有关问题的现实模型是学生按课程查询成绩

关于Hibernate“多对多”配置问题,该问题的现实模型是学生按课程查询成绩。
有三个类Student、Course、Score。

Student.java
Java code

public class Student {
    private int id;//学号    
    private String name;//姓名 
    private Set<Course> courses;//课程集
}



Course.java
Java code

public class Course {
    private int id;//课程号
    private String name;课程名
    private Set<Student> students;//学生集
}



Score.java
Java code

public 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
XML code

<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
XML code

<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个类该如何修改?

------解决方案--------------------
别考虑多对多,可以建立t_student与t_stu_cou_score的一对多和t_course与t_stu_cou_score的一对多关系