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学习笔记 这里分 ...
随机推荐
- 简:Spring中Bean的生命周期及代码示例
(重要:spring bean的生命周期. spring的bean周期,装配.看过spring 源码吗?(把容器启动过程说了一遍,xml解析,bean装载,bean缓存等)) 完整的生命周期概述(牢记 ...
- Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization(第一周)深度学习的实践层面 (Practical aspects of Deep Learning)
1. Setting up your Machine Learning Application 1.1 训练,验证,测试集(Train / Dev / Test sets) 1.2 Bias/Vari ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理(附源码)
前言:时间很快,已经快到春节的时间了,这段时间由于生病,博客基本没更新,所以今天写一下我们做的一个项目吧,是对权限的基本操作的操作,代码也就不怎么说了,直接上传源码和图片展示,下面我们直接进入主题介绍 ...
- Redis基本概念、基本使用与单机集群部署
1. Redis基础 1.1 Redis概述 Redis是一个开源.先进的key-value存储,并用于构建高性能.可扩展的应用程序的完美解决方案. Redis从它的许多竞争继承了三个主要特点: ...
- python matplotlib 库学习
基本使用 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-1,1,50) y = 2*x+1 plt.figur ...
- 050、创建overlay网络(2019-03-15 周五)
参考https://www.cnblogs.com/CloudMan6/p/7280787.html 在host01中创建overlay网络 ov_net1 在下面的例子中可以看到,我们在ho ...
- Lua 函数链功能
函数链 http://lua-users.org/wiki/FiltersSourcesAndSinks A chain is a function that combines the effect ...
- ROI Pooling层详解
目标检测typical architecture 通常可以分为两个阶段: (1)region proposal:给定一张输入image找出objects可能存在的所有位置.这一阶段的输出应该是一系列o ...
- Vue 中循环绑定v-module表单
子组件有一个列表要做输入验证 <template> <div> <el-form :model="value" ref="numberVal ...
- ssm mysql 新增数据返回id
描述: 在ssm项目中,新增一条数据,返回该数据的数据库id(主键) 实现方法: 1.xml 增加 useGeneratedKeys="true" keyProperty=&qu ...