此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【eeight】截止到2008-07-14 14:41:21的历史汇总数据(不包括此帖):
发帖的总数量:5                        发帖的总分数:100                      每贴平均分数:20                       
回帖的总数量:10                       得分贴总数量:2                        回帖的得分率:20%                      
结贴的总数量:1                        结贴的总分数:100                      
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:4                        未结的总分数:0                        
结贴的百分比:20.00 %               结分的百分比:100.00%                  
无满意结贴率:0.00  %               无满意结分率:0.00  %                  
楼主该结一些帖子了

解决方案 »

  1.   

    四个表,就建四个类
    class TeacherSubjectClass {
      Teacher teacher;
      Subject subject;
      Class0 class0;
      ...
    }
    都是一对多lazy关联就可以了
    得到一个班的时候,也同时得到这个班所开的课程和授课老师
    from TeacherSubjectClass tsc where tsc.class0.cid=...就可以了
      

  2.   

    我这里有个例子,你看看,是课程,老师,学生的关系。
    网上找的。这问题看似一个多对多的问题,但可以解析成一个一对多的问题。需要建立五张表来进行实现,学生表(student),老师表(teacher),课程表(course),老师与课程的对应关系表(teacher_to_course)和学生与课程的对应关系(student_to_course)。 
    先进行一下简单的分析,学生表,老师表和课程表之间是独立的,没有任何的关系。他们之间的关系需要其余的两张表来维护。想一下学生的选课的过程,应该是学校先安排好哪些课程都由哪些老师来教,然后学生才能选课,选课的同时也就选中了教这门课的老师。所以表的结构大致如下(ID为表的主键): 
    student:ID,S_number(学号) 
    teacher:ID,T_number(老师的编号) 
    course:ID,C_number(课程的编号) 
    teacher_to_course:ID,T_number,C_number 
    student_to_course:ID,S_number,C_number,T_number。 
    这样student与student_to_course是一对多的关系, 
    teacher与teacher_to_course,student_to_course是一对多的关系, 
    course与teacher_to_course,student_to_course是一对多的关系。 
    当删除一个学生或一名老师或课程的时候那两个关系的维护表会自动的删除相关的记录。 
      

  3.   

    你的数据库设计好关联,在做映射的时候Hibernate有选项,勾上就OK了啥
      

  4.   

    没看出你的具体需求,假定如下:一个老师教多个班,一个老师教一个课程。那么需要4个表
    teacher : id name subjectid ....
    subject : id name ...
    class: id name ...
    teacher_class : teacherid classid
    相互关系 老师与班级多对多 老师与课程一对多 班级与课程的关系可以通过老师联系 也可直接配多对多 那么再加一个关系表。
    如果是一个老师可以教多个课程那么需要6个表,两两之间全是多对多。