Hibernate student,course,score作业的框架理解

马老师说这个作业很重要,所以整理下思路。

题目:student,course,score的设计。

1.分析三者关系:

student --------course      ManyToMany,joinTable(name=score,joinColumn=@JoinColumn(name="student_id"),inverseJoinColumn=@JoinColumn(name="course_id"))

student--------score         ManyToOne,@JoinColumn(name="student_id")

course--------score          ManyToOne.@JoinColumn(name="course_id")

以上就是三者的关系,根据这个就可以写代码了。

2.具体设计:

student : id,name,

                   @ManyToMany

                     Set<Course>  courses

course:     id ,name.

score:       id 

                @ManyToOne   @JoinColumn(name="student_id")

                   student

                @ManyToOne  @JoinColumn(name="course_id")

                   course

其中score要自己建表,建表语句如下:

create table score(id int primary key,student_id references student(id),course_id references course(id),score int);

 3,测试

根据以上内容可以实现了。测试类也很好写,贴过来代码吧。testSave()方法的内容:

Session session = sf.getCurrentSession();
session.beginTransaction();

Student s = new Student();
Course c = new Course();
Score score = new Score();
s.setName("student");
c.setName("course");
score.setStudent(s);
score.setCourse(c);

session.save(score);
session.getTransaction().commit();                 


你可能感兴趣的:(Hibernate student,course,score作业的框架理解)