1.实体类Student

  1. package com.test.model;
  2.  
  3. import javax.persistence.Entity;
  4. import javax.persistence.GeneratedValue;
  5. import javax.persistence.Id;
  6.  
  7. @Entity
  8. public class Student {
  9. private int id;
  10. private String name;
  11.  
  12. @Id
  13. @GeneratedValue
  14. public int getId() {
  15. return id;
  16. }
  17. public void setId(int id) {
  18. this.id = id;
  19. }
  20. public String getName() {
  21. return name;
  22. }
  23. public void setName(String name) {
  24. this.name = name;
  25. }
  26. }

2.实体类Course

  1. package com.test.model;
  2.  
  3. import javax.persistence.Entity;
  4. import javax.persistence.GeneratedValue;
  5. import javax.persistence.Id;
  6.  
  7. @Entity
  8. public class Course {
  9. private int id;
  10. private String name;
  11.  
  12. @Id
  13. @GeneratedValue
  14. public int getId() {
  15. return id;
  16. }
  17. public void setId(int id) {
  18. this.id = id;
  19. }
  20. public String getName() {
  21. return name;
  22. }
  23. public void setName(String name) {
  24. this.name = name;
  25. }
  26. }

3.实体类

  1. package com.test.model;
  2.  
  3. import javax.persistence.CascadeType;
  4. import javax.persistence.Entity;
  5. import javax.persistence.FetchType;
  6. import javax.persistence.GeneratedValue;
  7. import javax.persistence.Id;
  8. import javax.persistence.JoinColumn;
  9. import javax.persistence.ManyToOne;
  10.  
  11. @Entity
  12. public class Score {
  13. private int id;
  14. private int score;
  15. private Student student;
  16. private Course course;
  17.  
  18. @Id
  19. @GeneratedValue
  20. public int getId() {
  21. return id;
  22. }
  23. public void setId(int id) {
  24. this.id = id;
  25. }
  26. public int getScore() {
  27. return score;
  28. }
  29. public void setScore(int score) {
  30. this.score = score;
  31. }
  32. @ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
  33. @JoinColumn(name="StudentId")
  34. public Student getStudent() {
  35. return student;
  36. }
  37. public void setStudent(Student student) {
  38. this.student = student;
  39. }
  40.  
  41. @ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
  42. @JoinColumn(name="CourseId")
  43. public Course getCourse() {
  44. return course;
  45. }
  46. public void setCourse(Course course) {
  47. this.course = course;
  48. }
  49. }

4.测试类

  1. package com.test.test;
  2.  
  3. import org.hibernate.classic.Session;
  4.  
  5. import com.test.Util.HibernateUtil;
  6. import com.test.model.Course;
  7. import com.test.model.Score;
  8. import com.test.model.Student;
  9.  
  10. public class StudentManager {
  11. public static void main(String[] args) {
  12. new StudentManager().testSave();
  13. }
  14.  
  15. public void testSave() {
  16. Session session = HibernateUtil.getSessionFactory().getCurrentSession();
  17. session.beginTransaction();
  18.  
  19. Student s = new Student();
  20. s.setName("张三");
  21. Course c = new Course();
  22. c.setName("语文");
  23. Score sc = new Score();
  24. sc.setScore(80);
  25. sc.setStudent(s);
  26. sc.setCourse(c);
  27.  
  28. Student s1 = new Student();
  29. s1.setName("李四");
  30. Course c1 = new Course();
  31. c1.setName("数学");
  32. Score sc1 = new Score();
  33. sc1.setScore(90);
  34. sc1.setStudent(s1);
  35. sc1.setCourse(c1);
  36.  
  37. Student s2 = new Student();
  38. s2.setName("王五");
  39. Score sc2 = new Score();
  40. sc2.setScore(70);
  41. sc2.setStudent(s2);
  42. sc2.setCourse(c1);
  43.  
  44. session.save(sc);
  45. session.save(sc1);
  46. session.save(sc2);
  47. session.getTransaction().commit();
  48. }
  49. }

hibernate实现学生-课程-成绩的更多相关文章

  1. hibernate 映射实例 学生 课程 成绩

    学生和课程是多对多,一个学生的一个课程只能对应一个成绩. 所以学生和课程多对多,其中间表多了一个成绩字段. 可以这样设计: 学生和课程通过中间表--成绩,多对多映射.     手动建中间表语句: cr ...

  2. Hibernate 再接触 树状结构设计以及学生课程成绩表的设计

    1 树状结构的设计 package com.bjsxt.hibernate; import java.util.HashSet; import java.util.Set; import javax. ...

  3. hibernate映射(学生-科目-成绩)

    实体类 1 public class Student { 2 private int id; 3 private String name; 4 private Set<Score> sco ...

  4. 学生各门课程成绩统计SQL语句大全

    学生成绩表(stuscore): 姓名:name 课程:subject 分数:score 学号:stuid 张三 数学 89 1 张三 语文 80 1 张三 英语 70 1 李四 数学 90 2 李四 ...

  5. sql查询每门课程成绩最高的学生

    给出数据库(sco)如下图: 查出每门课程成绩最高的学生 select b.id,b.kemu,b.name,b.chengji from (select kemu,max(chengji) maxc ...

  6. 小菜菜mysql练习解读分析1——查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数

    查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 好的,第一道题,刚开始做,就栽了个跟头,爽歪歪,至于怎么栽跟头的 ——需要分析题目,查询的是 ...

  7. sqlserver 查询各个学生语文、数学、英语、历史课程成绩

    -- 建表 插入数据 USE 你自己的数据库; CREATE TABLE Member( MID ) PRIMARY KEY, MName ) ); CREATE TABLE Course( FID ...

  8. 通过学生-课程关系表,熟悉hive语句

    通过学生-课程关系表,熟悉hive语句 1.在hive中创建以下三个表. create table  student(Sno int,Sname string,Sex string,Sage int, ...

  9. 使用Struts2+Hibernate开发学生信息管理功能1

    第一章:Struts2与Hibernate整合 1.课程简介 2.界面原型演示 3.Struts2与Hibernate整合 4.创建实体类 5.生成实体映射文件 6.生成表结构 1.课程简介 Stru ...

随机推荐

  1. 3.Hive中查看数据来源文件和具体位置方法

    虚拟列 -- 当 hive 产生了非预期的或 null 的时候,可以通过虚拟列进行诊断,判断哪行数据出现问题 INPUT__FILE__NAME     (输入文件名)map任务读入File的全路径 ...

  2. 二项分布 , 多项分布, 以及与之对应的beta分布和狄利克雷分布

    1. 二项分布与beta分布对应 2. 多项分布与狄利克雷分布对应 3. 二项分布是什么?n次bernuli试验服从 二项分布 二项分布是N次重复bernuli试验结果的分布. bernuli实验是什 ...

  3. Python3 Scrapy + Selenium + 阿布云爬取拉钩网学习笔记

    1 需求分析 想要一个能爬取拉钩网职位详情页的爬虫,来获取详情页内的公司名称.职位名称.薪资待遇.学历要求.岗位需求等信息.该爬虫能够通过配置搜索职位关键字和搜索城市来爬取不同城市的不同职位详情信息, ...

  4. su 和sudo su 的区别

    su "user" 执行该命令,需要输入password,它是"user"中定义的用户的password,即,要变换成的用户的password.(如果已经用ro ...

  5. Extjs Ext.TreePanel

    TreePanel 简单实例. <link rel="stylesheet" href="Js/ext-4.2/resources/css/ext-all-nept ...

  6. dssfsfsfs

    一直都好使啊..好使 好使 MainActivity://overover package com.example.sockettest; import java.io.BufferedReader; ...

  7. Java集合类总结 (二)

    LinkedList类 由于基于数组的链表有一个大的缺点,那就是从链表中间移除一个元素时需要将此元素后面的所有元素向前移动,会产生大量的开销,同样的在链表中间插入一个新元素也会有大量开销.如下图: L ...

  8. Android ActionBar仿微信界面

    ActionBar仿微信界面 1.学习了别人的两篇关于ActionBar博客,在结合别人的文章来仿造一下微信的界面: 思路如下:1).利用ActionBar生成界面的头部,在用ActionBar的Ac ...

  9. SQL Server 常用函数总结

    SQL去空格函数 1.ltrim(‘内容’)--去掉字符左边的空格 代码如下 declare @str varchar(100) set @str=' ADFADF' select @str sele ...

  10. Vue 自定义header

    第一种,全局设置: Vue.http.headers.common['token'] = 'YXBpOnBhc3N3b3Jk'; 第二种,拦截器设置 Vue.http.interceptors.pus ...