Hibernate - 一对多笔记

《Hibernate学习笔记九》:多对一和一对多的关联关系 《Hibernate学习笔记九》:多对一和一对多的单向关联关系前面介绍了一对一的关联关系在Hibernate应该如何来实现,这篇博文就来介绍下多对一和一对多的关联关系。多对一和一对多的关联关系在我们的生活中也比较常见,例如,在我们学生时代,一个班级可以有多个学生,而一个学生只能属于一个班级,这就是一个多对一(一对多)的例子;还有在我们的工作中,一个工作小组可以有多个用户,而一个用户只能属于一个小组, 阅读详情

一、数据库

c1

create table c1(
id int primary key AUTO_INCREMENT,
name varchar(20)
);

c2

create table c2(
cid int primary key AUTO_INCREMENT,
cname varchar(20),
id int
);

二、实体类

C1.java

private Integer id;
private String name;
private C2 c2;
private Set<C2> setC2 = new HashSet<C2>();

C2.java

private Integer id;
private Integer cid;
private String cname;
private C1 c1;

封装即可

<!-- 当前实体是否包含另外一个实体的对象 - 单向/双向 -->

三、实体HBM

C1.hbm.xml

<hibernate-mapping>
    <class name="cn.kaxlm6.pet.entity.C1" table="C1">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="native" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" />
        </property>
        

        <!-- 

             set:name = set集合变量名,table = 多端对象表名 ,cascade = 级联 ,inverse = 关系维护

             key:column = 多端对象列名 

             one-to-many:class = 多端对象类路径

       -->
        <set name="setC2" table="C2" cascade="all-delete-orphan" inverse="true" >
            <key column="id"/>
            <one-to-many class="cn.kaxlm6.pet.entity.C2"/>
        </set>
        
    </class>
</hibernate-mapping>

C2.hbm.xml

<hibernate-mapping>
    <class name="cn.kaxlm6.pet.entity.C2" table="C2">
        <id name="cid" type="java.lang.Integer">
            <column name="CID" />
            <generator class="native"></generator>
        </id>
        <property name="cname" type="java.lang.String">
            <column name="CNAME" />
        </property>
        

        <!-- 

             many-to-one:name = 一端对象名 ,class = 一端对象类路径 , column = 一端对象id

       -->

        <many-to-one name="c1" class="cn.kaxlm6.pet.entity.C1" column="id" ></many-to-one>
 
    </class>
</hibernate-mapping>

四、操作

添加

//添加
C1 c1 = new C1();
c1.setName("湖南");
		
C2 c2 = new C2();
c2.setCname("长沙");
		
C2 c3 = new C2();
c3.setCname("衡阳");
		
C2 c4 = new C2();
c4.setCname("邵阳");
		
//互设
c2.setC1(c1);
c3.setC1(c1);
c4.setC1(c1);
		
c1.getSetC2().add(c2);
c1.getSetC2().add(c3);
c1.getSetC2().add(c4);

//保存
session.save(c1);

删除

C1 c1 = session.get(C1.class, 5);
session.delete(c1);

正负数据如何归一化_生信干货 | LC-MS代谢组学QI软件下机数据代谢物筛选和归一化如何做?... 上海·2019第一届多层组学前言技术发展华东区客户研讨会倒计时1天LC-MS非靶向代谢组学数据下机啦~~拿到一堆数据怎么办?不会高端代码,也不会自己写脚本,我怎么处理数据?​本期小编带来了LC-MS非靶向代谢组学下机数据处理实用干货,包括:下机定性结果表格的解析、代谢物筛选如何做?以及定量数据如何做归一化?实用干货,赶紧来抢~~话不多说,赶紧来学习吧~~非靶向LC-MS代谢组学的分析流程LC-MS... 阅读详情

相关推荐

国产数据库安装部署说明

国产数据库安装部署说明

weixin_38203586的博客 910

Hibernate之一对多和多对一映射笔记

Hibernate 一对多关联关系映射 通过部门(Department)与员工(Employee)之间的单向一对多关联关系,通过一个小例子来初步学习。此文档纯属个人学习笔记,不喜勿喷!

andre_wjh的博客 559

FPGA工程师面试——FPGA基础知识24题

线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用OC门(集电极开路与非门)来实现,由于不用OC门可能使灌电流过大,而烧坏逻辑门,因此在输出端口应加一个上拉电阻。

FPGA/MATLAB学习教程/源码/项目合作开发 1086

孙卫琴的《精通JPA与Hibernate》的读书笔记:映射一对多双向关联关系

当类与类之间建立了关联,就可以方便地从一个对象导航到另一个或者一组与它关联的对象。例如,对于给定的Order对象,如果想获得与它关联的Customer对象,只要调用如下方法: //从Order对象导航到关联的Customer对象 Customer customer=order.getCustomer(); 在Order类中,用@ManyToOne注解映射customer属性: @ManyToOne(targetEntity =Customer.class) @JoinColumn(name="CU

csdnuserlala的博客 410

SAP 交货成本(运费)

交货成本: 业务场景: 有些产品或供应商,会产生交货成本(运费、关税等) 业务模拟(以运费为例): 1、运费在采购订单体现:计划运费 ME21N创建采购订单,并且包含运费: MIGO收货时: 由上可知,MIGO时运费最终体现在库存(存货)科目中(V),或者价格差异中(S计价时)。 MIRO发票校验: 运费最终体现在单独科目中: 后台配置: 运费在发票时候...

willieyuan的博客 1万+

采样率转化代码C++(有理倍数,升采样、降采样均可)

【代码】采样率转化(有理倍数,升采样、降采样均可)

goudahai的专栏 547

Hibernate 笔记二(多表设计之一对多)

Hibernate 多表设计之一对多示例:用户表和订单表关系为一对多的关系,一个用户可以有多个订单,但是一个订单只能对应一个用户 Customer.java 在“一”的一方(Customer)用Set来保存所有订单引用 public class Customer { private Integer id; private String name; private Set<Or

ldh756034624的博客 425

Robot Framework 7.0 报告解析

本文深入解析 Robot Framework 7.0 新增的 JSON 报告功能,手把手教你如何从 output.xml 转换为结构清晰的 output.json,并通过 Python 脚本提取关键测试指标。文章附完整示例、命令、解析脚本,支持导出为 CSV 和 Markdown,方便接入可视化看板、群通知和 CI 流程。适用于测试自动化、质量平台建设和回归趋势分析场景。

点点寒彬的博客 266

Hibernate笔记之6数据关联一对多

Hibernate笔记之6数据关联一对多Hibernate数据关联是在Hibernate容器映射技术之上发展起来的。Hibernate数据关联分为如下三种:一对一(1:1)一个人拥有唯一身份证号一对多(1:N)一个部门有很多员工多对多(M:N)一个学生可以选很多课程,一门课程也可以有多个学生一对多关系很常见,例如班级与学生的关系就是典型的一对多的关系。在实际编写程序时,

z731225710的专栏 731

【教程4>第1章>第11节】使用MATLAB快速产生批量verilog语句加快FPGA开发

...........如果手动写,那么就非常麻烦,这个时候,我们借助matlab,则可以快速生成上述类型的verilog程序,我们编写如下的MATLAB语句。\n");\n");end。

FPGA/MATLAB学习教程/源码/项目合作开发 1241

【华为OD机考】2025C+B+2024E+D卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】

可上练习华子OD、大厂真题绿色聊天软件戳od1441了解算法冲刺训练(备注【优快云】否则不通过)

weixin_48157259的博客 1万+

【学习笔记】实例解说Hibernate 一对多、多对一关联关系

这里以员工和部门作为例子给大家解说:假设,一个员工只有一个部门,但是一个部门就可以有多个员工。那么员工和部门就是多对一关系,部门和员工就是一对多关系。

机智猫 1万+

小梅哥Xilinx FPGA学习笔记11——亚稳态

亚稳态就是D触发器输入信号在其数据窗口期内发生变化,导致D触发器的输出进入一段时间的不稳定状态,有可能发生振荡,并最终随机稳定在高电平或者低电平。

m0_51430584的博客 631

Hibernate 一对多笔记

hibernate用了很久,但总是稀里糊涂,是时候总结下了,今天做了个例子,还是遇到了不少问题 &lt;class name="Person" table="Person" dynamic-update="true" lazy="true"&gt; &lt;cache usage="read-write" region="cacheD

dsbjoe的专栏 203

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Hibernate笔记——关联关系配置(一对多、一对一和多对多)

原文:http://www.cnblogs.com/otomedaybreak/archive/2012/01/20/2327695.html ============================================== 第一种关联关系:一对多(多对一) ...

chuanke1344的博客 199

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

hibernate 表关联 多对一 一对多 多对多 注解 xml 马士兵 笔记

  首先是xml文件配置的多对一: &lt;many-to-one name="brand" column="brand" class="com.tch.model.Brand" /&gt; brand是实体类中的属性,class对于类的全称 column对于外键 xml文件配置的一对多: &lt;set name="productstock" i...

阿O、不拽 292

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Hibernate学习笔记-一对多双向、多对多双向、二级缓存

一对多的双向 一对多指的是类与集合之间的关系 多对一指的是类与类之间的关系 在保存学生的时候,级联保存班级 在更新学生的时候,保存班级 已经存在一个班级,已经存在一个学生,让该学生加入到该班级 解除一个班级和所有的学生之间的关系 总结 1、一般情况下,一对多,多的一方维护关系,效率比较高 2、一对多,如果一的一方维护关系,实际上就是发出...

a5421901的专栏 480

Hibernate笔记整理 一对多(单向)

/// Hibernate: /// 一对多关联和多对一关联在实际应用中式非常普遍的。例如一个会员(Member)可以有多个订单(Order),而每个订单只能属于某个特定的会员,这便是一个典型的一对多关联。 本示例要用到的两个POJO类如下: public class Member { private String id; private String name;

小郭书房 525

hibernate笔记(五) 一对多

Room.java package com.goby.Hibernate.bean; import java.util.Set; public class Room { private int id; private String address; private Set users; public Set getUsers() { ret...

GOBY 栏目 112

Hibernate笔记(三) 表与表的关系分析、一对多、多对多、

表的关系分析 Hibernate框架实现了ORM的思想,将关系数据库中表的数据映射成对象,使开发人员把对数 据库的操作转化为对对象的操作,Hibernate的关联关系映射主要包括多表的映射配置、数据的增加、 删除等。 数据库中多表之间存在着三种关系,也就是系统设计中的三种实体关系。如图所示。 系统设计实体类的三种关系:一对多,多对多,一对一,在数据库中实体表之间的映射是通过外键来映射的 表与表之间的关系 【一对多】 建表原则,多的一边创建外键指向一的一方的主键 【多对多】 建表原则:创建一个中间表,中间表

codinglover5的博客 370

hibernate学习笔记【一对多单向映射】

例子:一个人有多个地址 person1.hbm.xml <id name="id" > <set name="address" order-by="name desc" cascade="all" inverse="false" > address.hbm.xml

u013444177的专栏 617

Hibernate学习笔记三-一对多的关系配置

1.创建数据库和表 比如客户表Customer和联系人表LinkMan 一个客户对应对应多个联系人 2.创建实体 顾客 public class Customer { private long cust_id; private String cust_name; private String cust_source; private String cust_industry; priva...

qq_39178473的博客 189

hibernate学习笔记三:表之间的关系、一对多和多对多操作

文章目录1. hibernate学习笔记三:表之间的关系、一对多和多对多操作1.1. 一对多&&多对一之间的关系1.2. 级联操作2. 多对多关系3. 小知识点 1. hibernate学习笔记三:表之间的关系、一对多和多对多操作 1.1. 一对多&&多对一之间的关系 在数据库中要将外键设置在多的一方。 在实体对象中 实体类中要分别建立具有联系的属性对象,一...

公子&小白的博客 570

hibernate笔记3——数据库表之间的关系(一对多、多对多)

0 总述 0.1 写在前面 碎碎念   前几天去了西交大,一进门就有不一样的感觉,原来这就是知名学府啊…走在路上都没有挺胸的自信了哈哈哈。最近投了一些实习岗位的简历,结果都被一一pass了,可能暑假得是在家里呆喽。前途渺茫啊。昨天还十分放纵自我的边不安边看电视,真的是紧张刺激。就像之前操作系统曹老师说的一样:比谁都心急,但是这又有什么用呢?   还是好好多学点东西吧,就算是给自己看的,也有了问心无...

积石成岩,流则不荒 376

Java自学笔记之Hibernate-HQL多表查询一对多

前言:实体类Student.java Classes.java HIbernate测试工具类HibernateUtils.java 和上一篇博客一样,在此不再重复http://blog.youkuaiyun.com/tsfx051435adsl/article/details/77410879新增加的实体类ClassesView.javapackage com.web0819;public class Clas

tsfx051435adsl的博客 654
上一篇: 01 - kali渗透测试环境搭建
下一篇: Bebian9.3安装KaliTool
_Different
博客等级 码龄9年 60粉丝 81原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值