hibernate映射(学生-科目-成绩)
实体类
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个配置文件
<hibernate-mapping package="entity">
<class name="Course">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="scores" inverse="true">
<key column="courseId"/>
<one-to-many class="Score"/>
</set>
</class>
</hibernate-mapping>
<hibernate-mapping package="entity">
<class name="Score">
<id name="id">
<generator class="native"/>
</id>
<property name="score"/>
<many-to-one name="student" column="studentId" not-null="true"/>
<many-to-one name="course" column="courseId" not-null="true" lazy="false"/>
</class>
</hibernate-mapping>
<hibernate-mapping package="entity">
<class name="Student">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/> <set name="scores" inverse="true" lazy="false">
<key column="studentId"/>
<one-to-many class="Score"/>
</set>
</class>
</hibernate-mapping>
方式二配置(只有两个文件)
<hibernate-mapping package="entity">
<class name="Student">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="scores" lazy="true" table="Score">
<key column="studentId"/>
<!-- 组成元素映射 -->
<composite-element class="Score">
<!-- Score类中引用当前实体类的属性名 -->
<parent name="student"/>
<property name="score"/>
<!-- Score类与Course类的多对一关联 -->
<many-to-one name="course" class="Course" column="courseId"/>
</composite-element>
</set>
</class>
</hibernate-mapping>
<hibernate-mapping package="entity">
<class name="Course">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="scores" lazy="true" table="Score" inverse="true">
<key column="courseId"/>
<composite-element class="Score">
<parent name="course"/>
<property name="score"/>
<many-to-one name="student" class="Student" column="studentId" foreign-key="studentId"/>
</composite-element>
</set>
</class>
</hibernate-mapping>
hibernate映射(学生-科目-成绩)的更多相关文章
- hibernate实现学生-课程-成绩
1.实体类Student package com.test.model; import javax.persistence.Entity; import javax.persistence.Gener ...
- hibernate映射的 关联关系:有 一对多关联关系,一对一关联关系,多对多关联关系,继承关系
hibernate环境配置:导包.... 单向n-1:单向 n-1 关联只需从 n 的一端可以访问 1 的一端 <many-to-one> 元素来映射组成关系: name: 设定待映射的持 ...
- [转]Hibernate映射的基本操作
++YONG原创,转载请注明http://blog.csdn.net/qjyong/article/details/1829672 Hibernate映射主要是通过对象关系映射 ...
- 【SSH系列】Hibernate映射 -- 一对多关联映射
映射原理 一对多关联映射和多对一关联映射的映射原理是一样一样的,所以说嘛,知识都是相通的,一通百通,为什么说一对多关联映射和多对一关联映射是一样的呢?因为她们都是在多的一端加入一个 ...
- 【mysql经典题目】科目成绩都大于80分\每个科目的第一名\总成绩排名
参考:http://blog.csdn.net/lifushan123/article/details/44948135 1.查询出科目成绩都大于80分的学生的名字? drop table if EX ...
- Hibernate映射--基本类映射和对象关系映射(转)
原文地址:http://blog.csdn.net/lovesummerforever/article/details/20901011 尊重原创,请访问原网址 回想一些我们在没有学习ssh的时候 ...
- Hibernate映射文件详解(News***.hbm.xml)二
转自 http://blog.csdn.net/a9529lty/article/details/6454924 一.hibernate映射文件的作用: Hibernate映射文件是Hibernate ...
- hibernate映射文件
Hibernate的持久化类和关系数据库之间的映射通常是用一个XML文档来定义的.该文档通过一系列XML元素的配置,来将持久化类与数据库表之间建立起一一映射.这意味着映射文档是按照持久化类的定义来创建 ...
- Hibernate映射文件如何配置触发器
Hibernate映射文件之触发器生成(generated属性.database-object元素) (2013-02-27 12:28:49) 转载▼ 标签: it 分类: JAVA学习笔记 这里分 ...
随机推荐
- ArcGis Go to XY功能代码C#
IPoint point = new PointClass(); point.PutCoords(x,y); IEnvelope pEnvelope= this.m_hookHelper.Active ...
- 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器
#!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...
- tedu训练营day02
1.Linux命令 1.关机.重启 关机 :init 0 重启 :init 6 2.rm 1.rm -rf 文件/目录 r :递归删除文件夹内的子文件夹 f :强制删除,force 2.练习 1.在用 ...
- 父div的透明度不影响子div透明度
在设置div的透明度的时候如果设置了父div的透明度(opacity=0.8),那么子div的透明度也随着改变了,并且设置子div的透明度不起作用. 这种情况下可以使用rgba来设置父div的透明度: ...
- ansible学习笔记三:playbook和roles
参考博客: Ansible 系列之 Playbooks 剧本 -飞走不可(博客园) linux运维学习之ansible的playbook及roles的使用 - 51CTO博客 nginx 基于uwsg ...
- ue4网络同步概念笔记
网络同步主要的概念是 复制. 不是以前的S,C逻辑分离. 是S复制到C通过 Switch Has Authority 将S与C的逻辑在程序内分离. 所属权:每个连接到S的C都有自己的 控制权.从 ...
- Intellij idea安装
1.官网下载 官网: https://www.jetbrains.com/idea/ 旗舰版(涵盖所有功能的)和社区版 2.下载旗舰版 3.创建maven项目 IDE的设置 setting:当前项目的 ...
- Liunx/RHEL6.5 Oracle11 安装记录[缺少依赖包的解决方案]
1.将镜像文件挂,如/mnt # mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt#这一步其实有很多实现方法,如可以将镜像文件中的Packages文件 ...
- 读书笔记 Facebook在移动端都干了啥,居然让用户爱上广告
文章来源:http://news.cnblogs.com/n/513297/ Facebook武器: Facebook 的武器只有一个:让广告主基于目标用户群投放个性化的精准广告.基于高质量的广告内容 ...
- 自制rpm包
参考自:https://blog.csdn.net/u010384744/article/details/80929319 https://blog.csdn.net/samxx8/article/d ...