写在前面:

  配置实体类与数据库的映射关系,有两种方式:

  1.使用*.hbm.xml

   2.使用@注解

  二:xml的配置方式:

  eg:员工的xml配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
'-//Hibernate/Hibernate Mapping DTD 3.0//EN'
'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'>
<hibernate-mapping> <class name="edu.hue.erp.auth.emp.vo.EmpModel" table="tbl_emp">
<!-- id为主键的配置:
id-name:实体类中的属性名
column-name:数据库表中主键名
generator-class:主键生成策略 -->
<id name="uuid" >
<!-- 数据库表中主键字段名与实体类的属性名相同时,column可以省略不写 -->
<!-- <column name="uuid"></column> -->
<generator class="native"></generator>
</id> <!-- property:非主键属性的配置
property-name:实体类中属性名
column-name:实体类中属性对应的数据库表中字段名
-->
<!-- 数据库表中主键字段名与实体类的属性名相同时,column可以省略不写 -->
<!-- <property name="username">
<column name="username"/>
</property> -->
<property name="username"/>
<property name="pwd"/>
<property name="name"/>
<property name="tele"/>
<property name="address"/>
<property name="email"/>
<property name="gender"/>
<property name="birthday"/>
<property name="lastLoginTime"/>
<property name="lastLoginIp"/>
<property name="loginTimes"/> <!-- 员工对部门 多对一的关系 -->
<!-- name:与员工实体类中含有的部门对象名一致
column:员工表中的外键(部门的主键)
class:一方 中 类的全路径 -->
<many-to-one
name="dm"
column="depUuid"
class="edu.hue.erp.auth.dep.vo.DepModel"
/> <!-- 员工对角色 多对多 -->
<!-- name:与员工实体类中含有的角色对象名一致
table:中间表名
key-column:员工表的主键
many-to-many--column:角色主键
many-to-many--class:角色类的全路径 -->
<set name="roles" table="tbl_emp_role">
<key column="empUuid"/>
<many-to-many column="roleUuid" class="edu.hue.erp.auth.role.vo.RoleModel"/>
</set> </class>
</hibernate-mapping>
<!-- 另外补充在部门的配置文件中: //部门对员工 一对多
//private Set<Employee> emps; 当进行级联删除时
一方对象首先要放弃与多方之间的关系,转化为将外键字段设置为null
如果此时外键字段设置为不允许为null,引发下列异常
java.sql.BatchUpdateException:Column 'depUuid' cannot be null
此时只需要在进行关系维护时,使一方对象不对关系进行维护即可,不操作外键——————inverse=true <set name="emps" cascade="delete" inverse="true">
<key column="depUuid"/>
<one-to-many class="edu.hue.erp.auth.emp.vo.EmpModel"/>
</set>
//注意部门对员工一对多与员工对部门多对一中的column是一致的
-->

天啦 真是丧尽天良啊。。。。少于150字不允许被发布出去不允许被发布出去不允许被发布出去。。。。。。。。。。

真的是,难道插入的代码不算字数的么。。。。。好。。很好。。。那我们就来一起凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑

凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑凑

够这150字。。。

 

Hibernate--使用xml配置映射关系的更多相关文章

  1. hibernate hbm.xml配置映射

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  2. Hibernate中的一对一映射关系

    Hibernate中的一对一映射关系有两种实现方法(单向一对一,和双向一对一)(一对一关系:例如一个department只能有一个manager) 单向和双向有什么区别呢??例如若是单向一对一,比如在 ...

  3. Hibernate入门3.配置映射文件深入

    Hibernate入门3.配置映射文件深入 2013.11.27 前言: 之前的两节是在Java项目中如何使用hibernate,并且通过一个简单地项目实践,期间有很多的错误,一般都是因为配置包的问题 ...

  4. 第二节:创建模型,使用Code First,配置映射关系

    这一节,实现模型的创建,配置映射关系 使用Code First数据迁移. 创建模型 一,首先创建几个接口:实体接口,聚合根接口,值对象接口 1,实体接口: 2,聚合根接口: 3,值对象接口: 二,模型 ...

  5. C# 数据操作系列 - 6 EF Core 配置映射关系

    0. 前言 在<C# 数据操作系列 - 5. EF Core 入门>篇中,我们简单的通过两个类演示了一下EF增删改查等功能.细心的小伙伴可能看了生成的DDL SQL 语句,在里面发现了些端 ...

  6. Hibernate框架 主配置文件(Hibernate.cfg.xml) 映射配置 说明

    Hibernate.cfg.xml 主配置文件中主要配置:数据库连接信息.其他参数.映射信息! 常用配置查看源码: hibernate-distribution-3.6.0.Final\project ...

  7. hibernate基于注解实现映射关系的配置

    关联关系的配置步骤 ①要理清楚管理关系 ②确定管理依赖关系的哪一方 1一对一例如:person 和IdCard ①确定依赖关系:一对一 ②依赖关系由person类管理代码如下: person: @En ...

  8. hibernate.cfg.xml 配置(摘录)

    配置文件中映射元素详解 对象关系的映射是用一个XML文档来说明的.映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等.下面从一个映射的例子开始讲解映射元素,映射文件的 ...

  9. SSH框架之Hibernate(1)——映射关系

    ORM的实现思想就是将关系数据库中表的数据映射成对象.以对象的形式展现,这样开发者就能够把对数据库的操作转化为对这些对象的操作.Hibernate正是实现了这样的思想,达到了方便开发者以面向对象的思想 ...

随机推荐

  1. RabbitMQ之发布订阅

    工作队列中,每个任务之分发给一个工作者.如果需要分发一个消息给多个消费者,这种模式被称为“发布/订阅” 交换器(Exchanges) RabbitMQ完整的消息模型 发布者(producer)是发布消 ...

  2. springmvc之单元测试(MockMvc)-独立测试

    spring mvc测试框架提供了两种方式,独立安装和集成Web环境测试(此种方式并不会集成真正的web环境,而是通过相应的Mock API进行模拟测试,无须启动服务器) 1.mockMvc.perf ...

  3. ORA-01843: 无效的月份

    1.插入的日期如果是DateTime类型的,没有影响 2.如果DateTime.ToString()获取的日期,就会报错,例如(@param_datetime = cf.GetServerDateTi ...

  4. PHP date()函数格式与用法汇总

    在页面的最前页加上 date_default_timezone_set("PRC");   /*把时间调到北京时间,php5默认为格林威治标准时间*/ date () a:   & ...

  5. Net Core下多种ORM框架特性及性能对比

    在.NET Framework下有许多ORM框架,最著名的无外乎是Entity Framework,它拥有悠久的历史以及便捷的语法,在占有率上一路领先.但随着Dapper的出现,它的地位受到了威胁,本 ...

  6. IPhoneX网页布局

    IPhoneX全面屏是十分科技化的,但是由于其圆角和摄像头刘海位置以及操控黑条的存在使得我们需要去对其样式做一些适配,没有X的同学可以开启 Xcode 9 的iPhone X 模拟器作为学习和调试. ...

  7. canvas入门之时钟的实现

    canvas 入门之作: 三步实现一个时钟: 直接上效果:   step 1  : 背景制作首先制作从1-12的数字: var canvas = document.getElementById('ca ...

  8. 算法训练 K好数

      算法训练 K好数   时间限制:1.0s   内存限制:256.0MB 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数 ...

  9. TempFile模块

    tempfile模块,用来对临时数据进行操作 tempfile 临时文件(夹)操作 tempfile.mkstemp([suffix="[, prefix='tmp'[, dir=None[ ...

  10. 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的

    在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...