04_Hibernate----ORM映射:单向多对一

Hibernate 单向多对一、单向一对多、双向一对多关联关系详解 一对多关系是最普遍的映射关系。比如部门和职工 一对多:从部门的角度,一个部门对应多个职工 多对一:从职工的角度,多个职工对应一个部门 数据库表中结构: 表 department:did departname 表 Employee:eid   ename   esex   did 工具类:SessionFactoryUtils .java,用来创建session工厂,后面的测试类的代码中 阅读详情

第04章 ORM映射:单向多对一

 

  1. 映射关系总览  

①单类→单表

②单向n对1

③双向1对n

④1对1基于外键

⑤1对1基于主键

⑥单向多对多

⑦双向多对多

 

  1. 概念
    1. 多对一

生活中有很多数据直接是多对一的关联关系,例如:多个Order对应一个Customer。

    1. 关联的方向

关联是有方向的。如果从Order对象中能够获取到Customer对象,而从Customer对象中不能获取到Order对象,则关联是单向的。如果从Order和Customer对象中都能够获取到对方,则关联是双向的。我们首先来看单向的多对一关联关系。

  1. 创建持久化类

①one:Customer

封装自身必要的信息即可,不包含Order集合的引用

②many:Order

除了要封装自身相关的信息,还要包含Customer对象的引用

  1. 创建*.hbm.xml映射文件
    1. one:Customer.hbm.xml

简单的单表映射

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<hibernate-mapping package= "com.sirius.hibernate.bean">

     <class name ="Customer" table="CUSTOMERS">

            <id name ="cutomerId" type="java.lang.Integer">

                 <column name ="CUTOMER_ID" />

                 <generator class ="native" />

            </id >

            <property name ="cutomerName" type="java.lang.String">

                 <column name ="CUTOMER_NAME" />

            </property >

     </class >

</hibernate-mapping>

 

    1. many:Order.hbm.xml

[1]映射OID和自身信息

[2]映射many-to-one关联关系

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<!-- Generated 2015-4-16 16:33:49 by Hibernate Tools 3.4.0.CR1 -->

<hibernate-mapping package= "com.sirius.hibernate.bean">

    <class name ="Order" table="ORDERS">

        <id name ="orderId" type="java.lang.Integer">

            <column name ="ORDER_ID" />

            <generator class ="native" />

        </id >

        <property name ="orderName" type="java.lang.String">

            <column name ="ORDER_NAME" />

        </property >

       

        <!-- 映射多对一关联关系 -->

        <many-to-one name ="customer" class="Customer" column= "CUSTOMER_ID_FK" />

       

    </class >

</hibernate-mapping>

[3]图解

DIY一个SM2262ENG 2TB Nvme固态硬盘,慧荣SM2262EN主控 网友订做的 材料: 慧荣科技的62en,2片1G 三星DDR4缓存,4颗PF29F04T2AOCTH1,8CE B17A。SM2262EN属于慧荣第二代PCIe SSD主控,支持PCIe G3×4通道和全新的NVMe 1.3规范、8个NAND通道设计,并提供完整固件设计,最大循序读取速度高达3.5GB/s,循序写入速度达3.0GB/s,随机读写则高达420K IOPS和420K IOPS。此外,还采用目前最先进的低功耗设计,无论是在待机还是在工作状态下,均展现超低功耗,有效减少30%的功耗,满足用户追求超 阅读详情

相关推荐

ANSYS Maxwell:创建即用型 3D 轴向磁通电机模型

Magnet Length” 是磁体的径向长度。“Magnet Thickness” 是磁体的轴向长度。为了对 AFM 进行更详细的分析,用户需要在 ANSYS Maxwell 中运行 3D FEA 分析。对于 2D 模型,它们类似于 MotorCAD 中的模型,后者对等效的直线电机进行建模。单击“确定”后,将创建一个 3D Maxwell 模型。“长度”是转子铁的轴向长度。然后需要定义定子的“磁芯”尺寸和材料。“长度”是定子铁芯的轴向长度。“转子”# 的极数必须与“定子”中定义的磁极相同。

jkh920184196的博客 1153

JPA学习(六) 单向多对一

记录 单向多对一 目录 1.单向多对一 1.多方的代码 2.一方代码 3.测试类 4.运行结果 2.注意点 1.单向多对一 单向多对一 (many to one) (一方拿不了多方 但是多方可以拿一方) 比如:产品对应产品类型(其实就是可以理解为创建外键 处理外键的值) @ManyToOne //多对一 多个产品对应一个产品类型 所以这个是配置在多方的对象上的 默认配...

GinChou的萌新博客 684

电磁仿真新手必看:如何用CST Studio Suite 2023完成第一个PCB辐射仿真?

本文详细解析了如何使用CST Studio Suite 2023进行PCB辐射仿真,适合电磁仿真新手快速上手。从工程准备、求解器配置到端口设置和后处理技巧,全面覆盖三维全波电磁场仿真软件的核心操作步骤,帮助工程师精准预测和解决PCB电磁辐射问题。

y7z8a9的博客 732

单向多对一

<br /><br />单向多对一关联<br />     在关系型数据库理论中,“多对一”关联同于“一对多”关联,且为了消除数据冗余,在两个关系之间不存在“多对多”关联,“多对多”关联要通过连接表来实现。因此在关系型数据库中只有“一对一”和“一对多(多对一)”,且都是单向的。而在hibernate当中,为了保证关联双方的映射可以通过多种方式进行,“单向一对多”关联和“单向多对一”被认为是两种不同的关联,其主要区别是在于哪个表的映射文件中进行<many to one>的配置,进行<many to one>配

lyfvslw的专栏 3142

双Orin PCIe RC&EP模式互通

orin pcie 互通

乐于分享 3877

基于Django+Vue3的目标检测系统设计与实现,Web前后端分离,Vue3前台系统+Django后台管理系统开发,YOLOv11 Web目标检测,实现图片、视频和摄像头检测等功能,全网独发

基于Django+Vue3的智能目标检测系统设计与实现,Web前后端分离,YOLOv11 Web目标检测,Vue3前台系统+Django后台管理系统开发,实现图片检测、视频检测、摄像头检测、登录、注册和个人中心功能

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 3667

JPA 系列教程3-单向多对一

JPA中的@ManyToOne 主要属性 - name(必需): 设定“many”方所包含的“one”方所对应的持久化类的属性名 - column(可选): 设定one方的主键,即持久化类的属性对应的表的外键 - class(可选): 设定one方对应的持久化类的名称,即持久化类属性的类型 - not-null(可选): 如果为true,,表示需要建立相互关联的两个表之间的外键约...

菜鸟教程 471

操作系统实验一到实验九合集(哈工大李治军)

操作系统实验一到实验九合集(哈工大李治军) 有详细代码及注释,程序已在本地测试,均能跑通

leoabcd12的博客 5万+

hibernate配置单向一对多和多对一的关系

hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

小小黑 3564

AI Agent开发第84课-paddleocr-vl全网唯一最全本地化布署教程

本文详解 PaddleOCR-VL 本地化布署全过程,指出为何在真实生产环境中 PaddleOCR-VL 更稳定、更易部署、更贴近工程落地。同时还会详细比较与 DeepSeek-OCR 的核心差异,为全网独家介绍paddleocr-vl的本地部署实战指南。

打造全国最全的AI Agent开发知识领域的博客 5966

使用STM32H7点亮RGB屏幕

希望本文能对你有所帮助!RGB屏幕是一种具有红、绿、蓝三种颜色通道的显示设备,通过控制每个通道的亮度,可以显示出丰富多彩的图像和动画。要使用STM32H7控制RGB屏幕,我们需要连接适当的引脚,并编写适当的代码来控制每个颜色通道的亮度。在主循环中,我们先点亮红色通道,然后延迟一段时间,接着点亮绿色通道,再延迟一段时间,最后点亮蓝色通道,并再次延迟。需要注意的是,示例代码中的延迟循环使用了一个简单的计数器实现,但实际应用中可能需要更精确的延迟方式,例如使用定时器中断或操作系统提供的延迟函数。

QoyOle的博客 923

Hibernate(9)_多对一的关联映射

本系列博客汇总在这里:Hibernate 汇总 @TOC 源码工程文件为:hibernate4.3_03 多对一的关联映射 使用员工和球队的例子 类图: 数据库关系图: 1、创建模型 创建多的一端 package com.wyx.hiber.model; import java.util.Date; public class Emp { private Integer empNo...

魏宇轩 594

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Hibernate 04 : 单向多对一

1.概念 ①多对一 一的一端 多的一端 User Order Order OrderItem Book OrderItem ②单向:从Order对象中可以获取到User对象的引用,而从User对象不能获取到Order对象的引用。 2.创建持久化类 ①U

liuzeyu19940927的博客 238

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java工具04-Java ORM框架:Hibernate与MyBatis

本文对比分析了Java主流ORM框架Hibernate和MyBatis的核心特性。Hibernate采用全自动ORM设计,通过对象关系映射完全屏蔽SQL细节,支持面向对象特性持久化;MyBatis作为半自动框架,保留SQL控制权,专注于结果集映射。文章详细比较了两者的映射配置方式、查询机制、事务管理及缓存策略,并针对性能、学习曲线、适用场景等维度提供选型建议,帮助开发者根据项目需求选择合适的持久层解决方案。

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

hibernate的ORM映射

第04章 ORM映射:单向多对一   1 映射关系总览 ①单类→单表 ②单向n对1 ③双向1对n ④1对1基于外键 ⑤1对1基于主键 ⑥单向多对多 ⑦双向多对多   2 概念 2.1 多对一 生活中有很多数据直接是多对一的关联关系,例如:多个Order对应一个Customer。 3 创建持久化类 ①one:Customer 封装自身必要的信息即可,不包含Orde

jc_zhibaobao的博客 371

Hibernate O-R 映射

这些示例展示了 Hibernate 中一些基本的对象关系映射技术。根据你的具体需求,你可以选择合适的映射类型来处理实体之间的关系。如果你需要更详细的信息或特定的示例,请随时告诉我。

qq_33240556的博客 439

ORM框架:Mybatis与Hibernate

因为MyBatis具有相对轻量级,封装少,映射多样化、支持存储过程、可以进行SQL语句优化等特点,符合互联网高并发、大数据、高性能、高响应的要求,使它取代了Hibernate成为了Java互联网中首选的持久框架。学习门槛高,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate需要开发者的经验和能力都很强才行。同样功能的两条sql语句的性能可能相差十几倍到几十倍,在高并发、快响应要求下的互联网系统中,手写SQL更合适.,可以更加精确的定义SQL。

0 1173

Hibernate关联映射

关联关系 类与类之间最普遍的关系就是关联关系 hibernate中的关联关系有四种:一对一、一对多、多对一、多对多。关联关系中又分为单向关联与双向关联关联关系中又分为单向关联与双向关联单向关联:单向关联是指只有一方有另一方的关联信息而另一方没有关联信息 例:A——>B A对象中有B对象的关联信息B对象中没有A对象的关联信息我们可以...

qq_38983002的博客 103

对象关系映射---ORM

什么是ORM?ORM是干什么的?ORM的优缺点?为什么要有ORM模型?常见的ORM框架有哪些?ORM映射哪些内容?类和表的映射、字段和属性的映射、Java数据类型和数据库中数据类型的映射、对象关系映射(1对1,1对多,多对多)、继承关系映射、对象的生命周期管理映射一、Mybatis和hibernate 区别面试

weixin_65978343的博客 1606

2009-04-09 | Hibernate关联映射 (多对一、一对一单双向)

多对一映射 &lt;many-to-one&gt;      //User.hbm.xml &lt;hibernate-mapping&gt; &lt;class name="User" table="t_user"&gt;  &lt;id name="id"&gt;   &lt;generator class="native"/&gt;  &

ray 107

手写 Hibernate ORM 框架 00-hibernate 简介

类似的还有其他系列,主要用于学习其中的原理。Hibernate 属于比较早的框架了,后期将实现一套 mybatis。在开始实现 hibernate 之前,我们先熟悉一下 hibernate。

1049

Hibernate注解开发之关联映射的注解

回顾 Hibernate注解开发之类级别的注解 Hibernate注解开发之属性级别的注解 1. 一对一单向外键关联 Students04 @Entity public class Students04 implements Serializable { @Id //设置为主键 @GeneratedValue(strategy = GenerationType.IDE...

C8WATER 957

Hibernate入门04_双向多对一

这里还是以顾客和订单之间的关系来说明,一个客户可以有多个订单,但是一个订单只能对应一个客户;1、项目的目录结构 2、Customer.javaimport java.util.HashSet; import java.util.Set; /**客户-可以有多个 */ public class Customer { private Integer customerId; privat

回不去的编程之路lgz 355

Hibernate-ORM:01.Hibernate恍如隔世般初见

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 对于学过ORM框架的朋友来说,上手HibernateORM来说,既熟悉有有一点陌生,熟悉无非是灵魂相通,陌生的只是一些语言罢了 1.1:Hibernate-ORM简介 1.Hibernate是一个开发源代码的对象关系映射框架(ORM); 2.对JDBC进行了轻量级的封...

Qgee2013的博客 231

hibernate映射关系

<br /><br />以简单的两个类为例:<br />User(int id, String name) <br />Group(int id, String name)<br />没有关联关系时的关系模型:<br />t_user(id int pk, name varchar) <br />t_group(id int pk, name varchar)<br />一、多对一和一对多关联映射(多个用户有相同的组)<br />这几种关联映射后的关系模型是相同的:<br />t_user(id int p

liuxiaochen123的专栏 623
上一篇: 03_Hibernate------单表映射
下一篇: Mybatis----------逆向工程
HelloWorld_AA
博客等级 码龄9年 18粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值