hibernate映射文件set key one-to-many 解释
Set集合映射: Hibernate为集合映射提供了专用的标签元素,Set集合映射,就使用<set>标签表示: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="com.suxiaolei.hibernate.pojos.Customer"table="customer"><!--主键设置 --><id name="id"type="string"><column name="id"></column><generator class="uuid"></generator></id><!--属性设置 --><property name="username"column="username"type="string"></property><property name="password"column="password"type="string"></property><property name="age"column="age"type="integer"></property><property name="registerTime"column="register_time"type="timestamp"></property><set name="orders"inverse="true"cascade="all"><key column="customer_id"></key><one-to-many class="com.suxiaolei.hibernate.pojos.Order"/></set></class></hibernate-mapping><set>标签中的"name"属性表示customer对象中关系集合的属性名,"inverse"与"cascade"属性说明(参考这里)。在数据库中表示"一对多"的关系是通过外键关联的方式实现的,"多方"通过持有"一方"的主键值来确定关系,怎么持有"一方"的主键值?"多方"将使用一列来存储"一方"的主键值,然后将此列作为外键列参照"一方"的主键列。所以使用Hibernate开发时需要将两表的关系列(外键列)告诉Hibernate,<key column="customer_id"></key>就是完成这个工作的,Hibernate就能根据 "customer_id"列取出关联信息。例如:从customer表中取出一条记录后,Hibernate会根据该customer记录的主键值再从order表中查找"custom_id"列,取出值相等的记录,然后组装到Customer对象中的set集合属性中,反之亦然。因为取出来的记录(只是一些零碎的值,还没有组装成对象)需要存放到Set集合中,所以要告诉Hibernate在Set集合里面能放什么类型的数据。<one-to-many>这个标签就是完成这个工作的,"class"属性是指定这个这个Set集合里面元素的类型。<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping> <class name="com.suxiaolei.hibernate.pojos.Order"table="orders"> <id name="id"type="string"> <column name="id"></column> <generator class="uuid"></generator> </id><property name="orderNumber"column="orderNumber"type="string"></property> <property name="balance"column="balance"type="integer"></property><many-to-one name="customer"class="com.suxiaolei.hibernate.pojos.Customer"> <column name="customer_id"></column> </many-to-one> </class> </hibernate-mapping> <many-to-one>标签是设置"一对多"关系中的"多方"的,name指定了哪一个属性是关系属性,"class"指定了关系属性的类型(也指定了与哪一个表关联), "column"属性是指定这个关联属性是按照"customer_id"列的值,在customer表中查询获得的。
hibernate映射文件set key one-to-many 解释相关推荐
- Hibernate映射文件生成器by LDDXFS
本文由 http://www.cnblogs.com/LDDXFS/ 原创,转载请注明本文出处.(新版本的代码生成器写好了,新版本设计上更合理,会在近期对其进行相关介绍,打算在工作稳定后开源,本文为旧 ...
- Hibernate 映射文件
转载 https://www.w3cschool.cn/hibernate/1vlx1iej.html Hibernate 映射文件 笔记 映射文件的主要作用:方便对数据库数据的处理,将数据库中每一个 ...
- 用MyEclipse自动生成hibernate映射文件和实体类
创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤 1 创建数据库,创建 ...
- 对应oracle生成java对象,Java学习笔记(十三)——通过Netbeans开发环境生成oracle数据库中表的对应hibernate映射文件...
[前面的话] 身体慢慢已经快好了,感觉真好,哈哈. 这篇文章要通过Hibernate对数据库进行操作,而Netbeans可以直接通过数据库逆向生成对应的映射文件.基础文章,选择性阅读. [步骤] 1. ...
- hibernate映射文件出现should be mapped with insert=“false“ update=“false“
hibernate映射文件出现should be mapped with insert="false" update="false" 这是属性名有重复
- Hibernate:映射文件元素属性说明
为什么80%的码农都做不了架构师?>>> Doctype <?xml version="1.0" encoding="UTF-8" ...
- myeclipse自动生成hibernate映射文件的过程
在hibernate中,每个数据表对应的其实是一个实体类,每个实体类有一个对应的hbm.xml配置文件匹配,myeclipse中有个MyEclipse Database Explorer视图,它提供了 ...
- IntelliJ IDEA下自动生成Hibernate映射文件以及实体类
转自:https://blog.csdn.net/qq_34197553/article/details/77718925 1.构建项目并添加项目结构配置以及配置初始参数 1.1.如图将基本的架子搭建 ...
- Hibernate配置文件与映射文件详解
Hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 我们先看一下官方文档所给出的,Hibernate 体系结构的高层视图: 其中PO=P ...
最新文章
- crontab(定时任务操作)
- mycat配置访问oracle_MySQL:如何使用MyCAT实现分库分表?
- loj#115. 无源汇有上下界可行流
- Class 18 - 1 图形验证码的识别
- Oracle 10g升级之--PSU 升级(续)
- oracle学习笔记 后记
- [转载]下载网页中的ts视频文件
- caxa明细表导入零件材质_caxa中如何使明细表风格应用到任一个图纸中
- REST风格详细介绍
- JTAG的TAP状态机介绍
- Swiper插件的使用和介绍
- C# 获取可执行文件EXE(文件夹)路径大全
- python中raise啥意思_python raise什么意思
- Ubuntu格式化U盘
- 2.参考线平滑算法解析及实现
- 新媒体运营必备工具盘点(干货收藏)
- 三大电信运营商携号转网数据_携号转网正式上线:三大运营商谁是最大赢家?中国电信偷偷告诉你...
- 如何注册阿里云申请图片上传
- 2020A证(安全员)实操考试视频及A证(安全员)操作证考试
- 嵌入式以太网第三部分——以太网协议实现