问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是实体映射--多重映射???

发布网友 发布时间:2022-04-06 07:46

我来回答

1个回答

热心网友 时间:2022-04-06 09:15

我以为你指的是hibernate 实体类映射,也就是表之间关联映射
百度Hi你 也不回话

下面是关于ORM实体映射实例及说明:

EJB3.0包含了JPA,Java持久性接口。JPA接口其中一个重要部分就是ORM,就是对象和关系的映射,也被成为实体映射。
实体映射中存在方向问题:单向关系和双向关系。

单向关系:两个实体中只有一个实体指向另一个实体(知道该关系的存在),而另一实体没有指向这个实体(另一实体不知道该关系的存在)
例如 如果将人和地址建模如下:Person ---------> Address,就是单向关系.
数据库表:PERSON(id,name,...,address),ADDRESS(id,country,city,street,building,...)
其中PERSON表中的address是外键,即为ADDRESS表中的id,只有PERSON知道关系的存在(能从Person导向Address)
而ADDRESS不知道PERSON(无法从Address导向Person)
在单向关系中只有拥有端知道关系的存在,即Person就是拥有端(Person拥有这个关系,看箭头方向)
在单向关系中,有外键的即为拥有端。

双向关系包括拥有端(Owning Side)和反向端(Inverse Side),而单向关系只有拥有端。

拥有端决定持久性如何进行数据库中关系的更新(就是表更新)。

双向关系

在双向关系中,每个实体拥有一个指向另一个实体的字段或者属性。通过这个字段或者属性,一个实体类能够访问其相联系的对象。如果一个实体拥有相联系的字段,我们说,这个实体知道相联系的对象。例如如果订单知道它拥有的每个订货商品,并且每个订货商品知道它从属的订单,我们说,订单和订货商品拥有双向关系。

双向关系必须遵循下列规则:

•双向关系的反向端(Inverse Side)必须通过@OneToOne,@OneToMany,@ManyToMany注释的mappedBy元素来指定其拥有端(Owning Side)。这个元素指明这个关系的拥有者实体的属性或者字段。
•多对一或者多对多的多的那一端,不能定义mappedBy元素。多的那一端永远是关系中的拥有端。例如雇员和部门一般是双向多对一的关系,所以多的那一端,也就是雇员,不能定义mappedBy元素,雇员永远是雇员和部门关系的拥有端。
•对于一对一的双向关系,拥有外键的那一端是拥有端。
•对于多对多的双向关系,任何一端都可以是拥有端。
单向关系

在单向关系中,只有一个实体拥有指向另一个实体的相关字段或属性,而另一个实体没有指回来的字段或属性。例如订货商品(即已经放入购物车的商品)拥有一个指向产品的字段,但是产品没有指向订货商品的字段。也就是说,订货商品知道自己属于那种产品,但是产品不知道哪一个订货商品指向了自己。

查询和方向

JPA的查询语言经常跨越关系,关系的方向性决定查询能够从一个实体到另一个实体。例如一个查询能够从订货商品跨越到产品,反过来却不行。但是订单和订货商品却可以双向导航。

级联删除和关系

有些实体是相互依赖的。例如订货商品是订单的一部分,如果订单被取消了,订货商品也应该被删除。这被称为级联删除。
例如,如果消费者被删除了,其订单也就没有了:

@OneToMany(cascade=REMOVE, mappedBy="customer") //一个消费者对应多个订单,多的那一端是订单,订单表中的customer字段为mappedBy元素public Set<order> getOrders() { return orders; }//设置级联删除,如果消费者被删了,订单也被删了。</order>

关于hibernate 类关联映射
周一到周六工作日可以Hi我 可以口述给你 太晚了 要下班了 先撤了。。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
空气能热水器如何实现零冷水 空气能总是要放很多冷水才有热水,为什么? 这些常见威士忌术语外文要了解~ 雪梨桶和波本桶的区别 都有哪些团购网 哪些团购网好 哪些团购网比较好 团购网站都有什么 有哪些好的团购网站 团购有哪些网 对象关系映射的实际应用 数据库系统三级模式与二级映射是什么意思 以实例说明什么是“关系-对象映射” 什么是ORM及ORM的详解 java中orm是什么? 在Hibernate中,什么是对象-关系映射? 以实例说明什么是“对象—关系映射” 以实例说明什么是“对象-关系映射” 什么是ORM? 以实例说明什么是“对象—关系映射”? 使用python对Excel进行多列单元格的批量合并操作 如何把多个excel文件合并到一个工作簿的代码 如何将excel中一个文件里的多个sheet表合并到一个表里 用代码完成 用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet 如何利用python实现表格每一行与另一表格逐行合并,如图? python合并多个excel,请问是哪里错了? 如何将多个excel表合并为sheet 怎么用python把多个excel的数据合成一个dataframe? python 合并多个excel到一个excel php 在什么情况下 ,只能实例化对象调用类方法,不能用静态static方法 为什么要用对象关系映射? c#为什么要使用orm对象关系映射 有谁能通俗点的给我讲解下ORM是什么吗?网上查的一大把专业理论名词。看了一头雾水。有谁能通俗点将吗? 什么是ORM?它主要解决什么问题? java两个实体对象有映射关系,则怎么用反射把一个对象的数据拿到,赋给另一个对象? 为什么说hibernate是完整的对象/映射关系解决方案? 什么是文件映射对象 PHP 里面 (string)$num 和 strval($num)的 区别 什么是强类型,什么是弱类型?哪种更好些?为什么? php弱类型语言怎么才能快速识别某个类属性是什么内容?(具体请进) php function括号里(类名 变量名)这种写法是什么意思? PHP问题return $area什么意思 PHP中false !==是什么意思 php里变量使用分号和冒号到底是个怎么回事? 什么是强/弱类型引用? php中bool型变量如何判断的 其中的1或0又怎么作为bool型判断的标准? ltrim — 删除字符串开头的空白字符(或其他字符)? 请问除去字符串左侧空格的函数是LTrim()吗? 编写一个函数,用于去掉字符串前面的空格,并返回处理后的字符串(没有前导空格的字符串)。 thinkphp做的网站怎么删除bom头