oodick
2010-02-03 05:04
浏览 249
已采纳

请教一个关于学生选课的问题

大体是这样
学生可以选多门课程, 一门课程也可以被多个学生选

同时,我这里规定一个老师只能教一门课程 这个是一个一对一的关系

学生和课程是一个多对多的关系, 我把他拆分成2个多对一了,用一个中间表 t_kc_info来保存关联关系

t_kc_info:
+----+------+------+
| id | sid  | kid  |
+----+------+------+
|  1 |    1 |    1 |
|  2 |    1 |    2 |
|  3 |    1 |    3 |
|  4 |    1 |    4 |
|  5 |    2 |    4 |
|  6 |    2 |    5 |
|  7 |    3 |    1 |
|  8 |    1 |    6 |
+----+------+------+

其中 sid 为学生的ID,kid为课程的ID

现在的问题是
我如何才能查询出,被学生 选学 最多的课程的 名称?课程表为t_kecheng ,字段ID,name 学生表和老师表类似

public class Student {
    
    private int id;
    
    private String name;
    
    
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    
}
public class KCInfo {
    
    private int id;
    
    private Student stu;
    
    private Kecheng kc;
    

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Student getStu() {
        return stu;
    }

    public void setStu(Student stu) {
        this.stu = stu;
    }

    public Kecheng getKc() {
        return kc;
    }

    public void setKc(Kecheng kc) {
        this.kc = kc;
    }

    
}   
<hibernate-mapping>
  <class table="t_kc_info" name="test">
    <id name="id">
      <generator class="native"/>
    </id>
    <many-to-one name="stu" column="sid"></many-to-one>
    <many-to-one name="kc" column="kid"></many-to-one>
  </class>
</hibernate-mapping>

以上是主体的代码,请教大家帮忙分析下SQL语句和HQL如何编写 谢谢

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题