Hibernate多对一及一对多关联关系理解及区别

hibernate一对多,多对一,一对多双向关联 NULL 博文链接:https://huihai.iteye.com/blog/901171 立即下载
 
关联关系的本质是将关联关系映射到数据库中。关联关系在对象模型中体现为内存中的一个或多个引用。 一对多关系: 一对多关系 分为“单向一对多/多对一关系”和“双向多对一”关系。
• “单向一对多/多对一关系”只需在“一”/“多”方进行配置,
• “双向多对一关系”需要在关联双方均加以配置。 双向多对一关联就是在多方和一方都进行配置,并在“一” 方通过属性inverse="true"设置控制关系反转
注:单向多对一关联是最常见的单向关联关系。
注:双向多对一关联是最常见的双向关联关系。双向多对一关联实际上是“多对
一”与“一对多”关联的组合。
多对一及一对多关联映射的区别(单向):
不管多对一还是一对多,都是在"多"的一端添加一个外键指向"一"的一端,只不过是多对一是在多的一端为其自己添外键,而一对多则是在一的一端为多的一端添加外主键。
模型:一个用户组(group)对应多个用户(user)。
多对一关联映射:是在"多"的一端添加一个外键指向"一"的一端,它维护的关系为多到一的关系,如:当载入一个用户(user)时将会同时载入组(group)的信息。它的关系映射将写在多的一端(user):
<many-to-one name="group" column="relatedGroup" cascade="all" /> 此时它在多的一端(user)添加了一个外键“relateGroup”指向一的一端。在多的一端通过group维护一的一端。
一对多关联映射:是在"多"的一端添加一个外键指向"一"的一端,它维护的关系为一到多的关系,如:当载入一个组(group)时将会同时载入此组用户(user)的信息。它的关系映射将写在一的一端(group):
<set name="users" order-by="name">
<key column="relatedGroup"/>
<one-to-many class="com.dvnchina.hibernate.User"/>
</set>
此时通过<key column="relatedGroup"/>在多的一端(user)添加了一个外键“relateGroup”指向一的一端。在一的一端通过users维护多的一端。
总之,一对多和多对一的映射策略是一致的,都是通过在"多"的一端添加一个外键指向"一"的一端,只是站的角度不同。

hibernate多对一、一对一、一对多、多对多映射的理解(经典) hibernate中对实体类映射文件的理解(多对一、一对一、一对多、多对多),文章给出了实例类图、数据表结构、相关测试以及说明。 立即下载

相关推荐

hibernate(一对多,多对一映射)操作

hibernate基于 一对多、多对一映射写的一个增加,查询,删除,修改的demo,内附数据库脚本

hibernate 多对一

使用hibernate的时候经常会用到关联查询,尤其是类似部门这种表,在其他表中存储的是depid,但是用户却要显示depname,以前经常select * from student,dep 这种关联sql,然后Object[] obs = list.get(i) 然后报objects转换为bean,很麻烦,hibernate又关联,但是一旦形成一对多,dep整张表还会显示student的数据,很

fivestar2009的博客 427

别再死记硬背了!用Python+Matlab/Simulink手把手带你理解PID控制器的‘稳、快、准’

本文通过Python编程和Matlab/Simulink仿真,深入解析PID控制器的‘稳、快、准’三大核心指标,帮助读者直观理解PID控制的实现原理与参数整定技巧。内容涵盖经典控制理论和自动控制原理,提供实战案例和高级调参技巧,适合工业自动化领域的学习者和工程师。

weixin_42551227的博客 367

Hibernate 多对一(Many-to-One)映射

多对一(many-to-one)关联是最常见的关联关系,其中一个对象可以与多个对象相关联。例如,一个相同的地址对象可以与多个雇员的对象相关联。 定义RDBMS表: 考虑一个情况,我们需要员工记录存储在EMPLOYEE表,将有以下结构: create table EMPLOYEE ( id INT NOT NULL auto_increment, first_name

技术何 1636

Modbus4J vs EasyModbus4J:哪个Java库更适合你的工业项目?

本文深入对比了Java领域两大Modbus通信库Modbus4J与EasyModbus4J。Modbus4J设计稳健、类型安全,适合复杂业务集成;EasyModbus4J基于Netty,在高并发场景下性能更优。文章从架构、性能、API及生产环境多维度分析,为工业物联网项目选型提供决策依据。

weixin_28475533的博客 309

从真题到策略:浙江工业大学计算机转专业机试全解析与备考指南

本文全面解析浙江工业大学计算机转专业机试的考试概况、典型真题和高频考点,提供详细的备考策略和面试准备建议。从机试题目类型到解题技巧,帮助考生高效备考,顺利通过这一竞争激烈的转专业关卡。

weixin_42524824的博客 419

Hibernate的多对一

之前一直很迷惑,Hibernate的多对一和数据库表的多对一有什么关系?答案居然是没有关系。 Hibernate的多对一主要是为了便于管理数据库,主要是CIDR操作。 而数据库的多对一则是为了维持数据库的参照完整性。 两者之间没有直接的关系。 比如建立一个数据库,有文章、分类两个表 文章(文章编号,分类编号、文章内容) 分类(分类编号、分类名称) 文章表的分类编号属性参照分类

Julyraining的博客 434

【计算机图形学】Pov-Ray画的垃圾小车

效果: 代码: #include "colors.inc" #include "metals.inc" #include "glass.inc" //相机 //这个位置车子刚好落在草地上了 camera { location direction z*1.5 right x*image_width/image_height look_at

lishichengyan的博客 1749

Hibernate多对一配置

hibernate中的多对一配置有两种情况: 一种是子表的外键对应主表的主键id。 另一种是子表的外键对应主表的非主键字段,一般是一个唯一的字段。(常见的场景是订单主表跟订单产品明细表,主表跟子表都是用id作为主键,但是两者之间通过orderNo(订单号)来关联)   下面根据这两种情况,简单介绍一下hibernate映射文件的配置。 第一种情况,假设主表是部门表(department...

xigua355的博客 269

CODESYS开发实战:EtherCAT总线伺服从站配置与运动控制

本文详细介绍了在CODESYS平台上进行EtherCAT总线伺服从站配置与运动控制的实战教程。内容涵盖从设备描述文件安装、主从站拓扑构建,到核心的伺服使能状态机编程、过程数据映射,以及最终实现点位运动控制的完整流程。文章旨在帮助开发者快速掌握基于CODESYS的EtherCAT总线伺服控制技术,提升工业自动化项目开发效率。

weixin_29281915的博客 327

ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)

可以轻松扩展出多路工业级串口。但常规方案需要手动控制收发方向(DE/RE引脚),存在实时性差、CPU占用高等痛点。本文从硬件逻辑设计到Linux驱动开发,完整实现了ZYNQ平台的RS-485工业通信方案。,解决了传统方案实时性差的痛点。所有代码均经过实际项目验证,可直接用于生产环境。:尝试将此设计扩展为多协议兼容接口(支持RS-422/RS-232切换)!等特性,依然是现场总线通信的首选。,通过硬件逻辑+Linux驱动协同设计,实现零延迟切换。在工业自动化、能源电力等场景中,RS-485凭借。

QQ_778132974的博客 830

Hibernate的关联映射之多对一、一对多、多对多

这篇博客,我们开始介绍基于基本映射的关联关系映射。   概念          基本映射是对一个实体进行映射,关联映射就是处理多个实体之间的关系,将关联关系映射到数据库中,所谓的关联关系在对象模型中有一个或多个引用。   分类                                关联关系分为上述七种,但是由于相互之间有各种关系,可

hasagei_ly的博客 886

优化点列图(RMS半径)的操作数

优化点列图(RMS半径)的操作数

weixin_72050316的博客 2256

一对多与多对一关联关系

一对多与多对一关联关系 在hibernate中关联关系一般都是通过外键来关联的,(我在学习的时候也有个错误的理解,这个外键不是在数据库表上建立的,经过试验在数据库中不建立外键关系,只在hibernate中设置完全可以实现同样的效果),这时的关联可以分为单向与双向两种。 所谓的单向就是说,在两端中的任一端不知知道另一端的存在,而另一端确清楚的小的另一端;双向当然就是双方互知了。 1、单向关联

qd_liyp的专栏 1096

28、基准剂量法:原理、应用与计算详解

本文详细介绍了基准剂量法(BMD)的原理、在监管机构中的应用以及具体的计算方法。内容涵盖样本量与BMD的关系、主要监管机构如EPA对BMD的应用、BMD的模型选择与数据拟合过程、拟合优度评估、下置信限(BMDL)计算,以及实验设计对BMD结果的影响。同时,还讨论了剂量指标和响应选择的关键问题,为理解和应用基准剂量法提供了全面的参考。

info6的博客 280

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

hibernate中实体关联的注解写法(一对多,多对一)

1.多对一的单向关联 例如一个人有多个梦想,而一个梦想属于一个人(这个假设可能不是很贴合实际,理解就行),这时候我们需要一个Person类、一个Dream类; 那么我们怎么写注解呢?其实很简单,只需要在多的一方定义一个属性在该属性get方法上加@ManyToOne注解即可 Person类 package vo; import javax.persistence.Entity; impo

David_Tsai23的专栏 1577

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

hibernate 一对多 多对一 关系的理解

1、单向多对一和双向多对一的区别? 只需要从一方获取另一方的数据时 就使用单向关联 双方都需要获取对方数据时 就使用双向关系 部门--人员 使用人员时 如果只需要获取对应部门信息(user.getdeptarment()) 不需要 从部门下的人员信息时,就配置成单向 多对一 使用部门时 如果只需要获取部门下人员信息(deptartmanet.getusers()) 不

l55iuming的专栏 4086

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Hibernate properties详解
下一篇: struts2动态调用方法总结记录
Java18
博客等级 码龄16年 27粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值