iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Hibernate如何使用hbm.xml配置映射关系
  • 407
分享到

Hibernate如何使用hbm.xml配置映射关系

hibernate 2023-05-30 22:05:42 407人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关Hibernate如何使用hbm.xml配置映射关系,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用hibernate时,经常需要配置与类对应的hbm.xml文件,并在其中

这篇文章将为大家详细讲解有关Hibernate如何使用hbm.xml配置映射关系,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在使用hibernate时,经常需要配置与类对应的hbm.xml文件,并在其中指明数据库表的具体细节。
由于映射关系的配置比较繁琐,故总结了模板代码如下:

多对一:

<many-to-one name="本类中的属性名" class="对方类" column="本类中的属性名+Id"></many-to-one>

一对多:

<set name="本类中的属性名"><key column="多的那一方中引用我主键的那个外键的名字"></key><one-to-many class="对方类"></one-to-many></set>

多对多:

<set name="本类中的属性名" table="中间表名"><key column="对方引用我主键的那个外键的名字"></key><many-to-many class="对方类" column="对方类+Id"></many-to-many></set>

基于外键的一对一(有外键方):

<many-to-one name="本类中的属性名" class="对方类" column="本类中的属性名+Id" unique="true"></many-to-one>

基于外键的一对一(无外键方):

<one-to-one name="本类中的属性名" class="对方类" property-ref="对方表中对应的‘本类中的属性名'"></one-to-one>

此后,在配置映射关系时,只需复制粘贴,再替换提示信息即可,方便使用。

另外,我们还需要继续介绍的是:

配置实体类与数据库的映射关系,有两种方式:
  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是一致的 -->

关于“Hibernate如何使用hbm.xml配置映射关系”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Hibernate如何使用hbm.xml配置映射关系

本文链接: https://www.lsjlt.com/news/221865.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Hibernate如何使用hbm.xml配置映射关系
    这篇文章将为大家详细讲解有关Hibernate如何使用hbm.xml配置映射关系,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用hibernate时,经常需要配置与类对应的hbm.xml文件,并在其中...
    99+
    2023-05-30
    hibernate
  • 浅谈hibernate中多表映射关系配置
    1.one-to-many 一对多关系的映射配置(在一的一方实体映射文件中配置)<!-- cascade属性:级联操作属性 save-update: 级联保存,保存客户时,级联保存客户关联的联系人 delete:级联...
    99+
    2023-05-31
    hibernate 多表 映射关系
  • MyBatis中怎么使用注解方式配置映射关系
    在 MyBatis 中使用注解方式配置映射关系可以通过使用 @Select, @Insert, @Update, @Del...
    99+
    2024-03-07
    MyBatis
  • Linux系统如何配置端口映射
    这篇文章将为大家详细讲解有关Linux系统如何配置端口映射,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、iptables命令 -t表>:指定要操纵的表;  -A:向...
    99+
    2023-06-28
  • SpringDataJPA实体类关系映射配置方式
    目录SpringDataJPA1.单向一对一映射2.双向一对一映射3.单向一对多映射4.双向一对多映射5.单向多对一映射6.双向多对一映射7.单向多对多映射8.双向多对多映射Spri...
    99+
    2024-04-02
  • Linux系统中如何配置端口映射
    这篇文章将为大家详细讲解有关Linux系统中如何配置端口映射,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前述使用的是 iptables 来做端口映射。如果使用的系统是 Centos/Redhat/Fed...
    99+
    2023-06-28
  • 如何配置ABP框架使用对象映射
    小编给大家分享一下如何配置ABP框架使用对象映射,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!DTO和实体实体实体是领域驱动设计(Domain Driven De...
    99+
    2023-06-29
  • Mybatis全局配置及映射关系的实现
    目录一、配置文件内容1.1、Proerties1.2、设置setting1.3、类型别名typeAliases1.4、映射器Mappers1.5、dataSource1.6、事务二、...
    99+
    2024-04-02
  • ubuntu如何配置域名映射
    ubuntu配置域名映射:在ubuntu下找到hosts文件,一般在/etc下。在hosts文件中添加域名映射。保存并关闭即可。...
    99+
    2024-04-02
  • Mybatis全局配置及映射关系怎么实现
    这篇文章主要介绍了Mybatis全局配置及映射关系怎么实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、配置文件内容mybatis.xml就是Mybatis的全局配置文件...
    99+
    2023-06-29
  • SpringDataJPA实体类关系映射配置方式有哪些
    这篇文章将为大家详细讲解有关SpringDataJPA实体类关系映射配置方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SpringDataJPA//FetchType.LAZY:懒加载,加载一个...
    99+
    2023-06-21
  • 配置ABP框架使用对象映射
    目录DTO和实体实体DTO麻烦的映射AutoMapper 集成IObjectMapper/ObjectMapper对象拓展DTO和实体 实体 实体是领域驱动设计(Domain Dri...
    99+
    2024-04-02
  • Mybatis如何使用@Mapper和@MapperScan注解实现映射关系
    目录使用@Mapper和@MapperScan注解实现映射关系Mybatis-@MapperScan和mybatis:scan分析<mybatis:scan>Mapper...
    99+
    2024-04-02
  • Springboot如何配置图片虚拟映射
    小编给大家分享一下Springboot如何配置图片虚拟映射,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!新建一个MyWebAppConfigurer 配置静态资源...
    99+
    2023-06-21
  • SpringBoot2中如何配置系统全局异常映射处理
    这篇文章给大家分享的是有关SpringBoot2中如何配置系统全局异常映射处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、异常分类这里的异常分类从系统处理异常的角度看,主要分类两类:业务异常和系统异常。1、...
    99+
    2023-06-02
  • 如何分析ADO数据映射的相关使用
    这期内容当中小编将会给大家带来有关如何分析ADO数据映射的相关使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ADO数据和 DataSet:描述 DataSet 如何与作为数据源的 XML 进行交互(包...
    99+
    2023-06-17
  • ps渐变映射如何使用
    这篇文章主要介绍“ps渐变映射如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ps渐变映射如何使用”文章能帮助大家解决问题。ps渐变映射使用方法:首先在ps中打开一张所需的图。点击图像。 点开...
    99+
    2023-07-04
  • SpringBoot使用Mybatis&Mybatis-plus文件映射配置方法
    简介: Springboot使用Mybatis&Mybatis-plus 两者文件映射配置略有不同,之前我用的是Mybatis,但公司用Mybatis-plus;自己新建了一...
    99+
    2024-04-02
  • 关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
    目录Spring里面一对多的关系可以用@OnetoMany注解来实现来看看我的这个例子看一下具体是怎么使用最后我的代码Entity One-to-Many 排序设置Spring里面一...
    99+
    2024-04-02
  • PHP中如何使用对象-关系映射(ORM)简化数据库操作?
    使用 orm 可简化 php 中的数据库操作,它将对象映射到关系数据库中。laravel 中的 eloquent orm 允许使用面向对象的语法与数据库交互,可通过定义模型类、使用 el...
    99+
    2024-05-07
    php orm laravel 博客系统
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作