实体类

1 public class Student {
2     private int id;
3     private String name;
4     private Set<Score> scores = new HashSet<Score>();   //一对多
5 }

1 public class Score {
2     private int id;
3     private Student student;  //1对1
4     private Course course;      //1对1
5     private Double score;
6 }

1 public class Course {
2     private int id;
3     private String name;
4     private Set<Score> scores = new HashSet<Score>();    //一对多
5 }

方式一映射关系(多对一)有3个配置文件

 1 <hibernate-mapping package="entity">
 2     <class name="Course">
 3         <id name="id">
 4             <generator class="native"/>
 5         </id>
 6         <property name="name"/>
 7         <set name="scores" inverse="true">
 8             <key column="courseId"/>
 9             <one-to-many class="Score"/>
10         </set>
11     </class>
12 </hibernate-mapping>

 1 <hibernate-mapping package="entity">
 2     <class name="Score">
 3         <id name="id">
 4             <generator class="native"/>
 5         </id>
 6         <property name="score"/>
 7         <many-to-one name="student" column="studentId" not-null="true"/>
 8         <many-to-one name="course" column="courseId" not-null="true" lazy="false"/>
 9     </class>
10 </hibernate-mapping>

 1 <hibernate-mapping package="entity">
 2     <class name="Student">
 3         <id name="id">
 4             <generator class="native"/>
 5         </id>
 6         <property name="name"/>
 7
 8         <set name="scores" inverse="true" lazy="false">
 9             <key column="studentId"/>
10             <one-to-many class="Score"/>
11         </set>
12     </class>
13 </hibernate-mapping>

方式二配置(只有两个文件)

 1 <hibernate-mapping package="entity">
 2     <class name="Student">
 3         <id name="id">
 4             <generator class="native"/>
 5         </id>
 6         <property name="name"/>
 7         <set name="scores" lazy="true" table="Score">
 8             <key column="studentId"/>
 9             <!-- 组成元素映射 -->
10             <composite-element class="Score">
11                 <!-- Score类中引用当前实体类的属性名 -->
12                 <parent name="student"/>
13                 <property name="score"/>
14                 <!-- Score类与Course类的多对一关联 -->
15                 <many-to-one name="course" class="Course" column="courseId"/>
16             </composite-element>
17         </set>
18     </class>
19 </hibernate-mapping>

 1 <hibernate-mapping package="entity">
 2     <class name="Course">
 3         <id name="id">
 4             <generator class="native"/>
 5         </id>
 6         <property name="name"/>
 7         <set name="scores" lazy="true" table="Score" inverse="true">
 8             <key column="courseId"/>
 9             <composite-element class="Score">
10                 <parent name="course"/>
11                 <property name="score"/>
12                 <many-to-one name="student" class="Student" column="studentId" foreign-key="studentId"/>
13             </composite-element>
14         </set>
15     </class>
16 </hibernate-mapping>

转载于:https://www.cnblogs.com/TheoryDance/p/4733434.html

hibernate映射(学生-科目-成绩)相关推荐

  1. 【MySQL】求每门科目成绩排名前二的学生信息

    建表语句如下: 学生表 CREATE TABLE student(sno VARCHAR(4) NOT NULL primary key, sname VARCHAR(4) NOT NULL,age ...

  2. 【详解】某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→

    某企业的培训关系模式 R(培训科目,培训师,学生,成绩,时间,教室), R的函数依赖集 F={培训科目→培训师,(学生,培训科目)→成绩,(时间,教室)→培训科目,(时间,培训师)→教室,(时间,学生 ...

  3. Hive找出所有科目成绩都大于某一学科平均成绩的学生

    表结构:uid,subject_id,score 求:找出所有科目成绩都大于某一学科平均成绩的学生 数据集如下 1001 01 90 1001 02 90 1001 03 90 1002 01 85 ...

  4. MySql 学生表 科目表 成绩表 查询学生各科成绩

    MySql 学生表 科目表 成绩表 查询学生各科成绩 2016年08月16日 01:05:02 lzxomg 阅读数 8155 版权声明:本文注明出处可以转载. https://blog.csdn.n ...

  5. 【MATLAB基础】创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,并对成绩数据进行简单处理,并对十名学生按照成绩排序

    程序解决问题描述: 首先创建一个包含十名学生姓名学号和各学生六个科目成绩的结构体,分别求出十名学生的总成绩和平均成绩,最后按照总成绩对十名学生进行排序,并在命令窗口依次打印出1-10名的学生的姓名. ...

  6. 输出各科科目成绩大于90分的学生

    建表语句: CREATE TABLE `student` (`name` varchar(50) DEFAULT NULL,`sub` varchar(50) DEFAULT NULL,`score` ...

  7. 【SSH系列】Hibernate映射 -- 一对多关联映射

         映射原理        一对多关联映射和多对一关联映射的映射原理是一样一样的,所以说嘛,知识都是相通的,一通百通,为什么说一对多关联映射和多对一关联映射是一样的呢?因为她们都是在多的一端加入 ...

  8. java计算并显示学生的成绩_Java开学测试-学生成绩管理系统

    题目: 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishiscore,networkscore ...

  9. c语言学生成绩查询课设报告,C语言课设报告(学生考试成绩查询程序)【荐】.doc...

    C语言课设报告(学生考试成绩查询程序)[荐].doc 学生考试成绩查询程序 学号:******** 姓名:***** 完成日期:****年月 通过键盘输入学生的考试信息,包括:学号.姓名.课程名称.学 ...

  10. 查询各个科目成绩前三的记录

    id student_id name course_id course_name score 1 2005001 张三 1 数学 69 2 2005002 李四 1 数学 89 3 2005005 王 ...

最新文章

  1. AI领域首个iF用户体验大奖——第四范式斩获2项德国iF设计奖
  2. E:Sleeping Schedule(DP)
  3. 2021牛客OI赛前集训营-提高组(第五场)C-第K排列【dp】
  4. 全球首发!惯性导航导论(剑桥大学)第九部分
  5. 虚拟机中的linux系统联网,虚拟机上Linux系统上网设置
  6. 13.C++ vector 操作
  7. matlab汽车驱动力与行驶阻力,最新汽车理论1.3和2.7matlab编程答案
  8. 关于学习scala中lazy关键字的记录
  9. 计算机应用一些常用技巧
  10. 裸机服务器装系统步骤,服务器裸机安装操作系统
  11. 《国产操作系统之银河麒麟》安装VNCserver插件
  12. 大连理工大学开发区校区新手指南——2.校园介绍篇
  13. web开发详解,学习web前端开发的网站
  14. 线性回归 | Kaggle案例 预期寿命影响预期寿命的因素的统计分析(基于torch)
  15. python金融趋势指标计算:布林带
  16. ThinkPad T61 X61安装XP系统不完全手册
  17. 基于JAVA的网上购书系统(附:源码 论文 项目运行视频)
  18. 100V降压电源芯片 电瓶72V降压DC-DC芯片
  19. 基于python编写一个名片管理系统
  20. 7-6 最短工期 (25 分)(C++版)

热门文章

  1. Redis 基本命令、键(key)命令、基本数据类型(命令行操作)
  2. LayaAir destroy 销毁与 removeChild 移除节点
  3. 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_1 Mybatis中编写dao实现类的使用方式-查询列表...
  4. oracle中使用java存贮过程
  5. 【转】Centos7 ftp 配置及报错处理
  6. 【华为机试】—— 12字符串反转
  7. 洛谷 P2879 [USACO07JAN]区间统计Tallest Cow
  8. Tarjan算法——强连通分量
  9. Podfile使用说明
  10. 二、八大基本类型,由来和详解(超全)/读完这个面试再也不怕问到蒙