当前位置: 首页 > 面试题库 >

Hibernate单向一对多关联-为什么连接表更好?

傅经业
2023-03-14
问题内容

在本文档中(向下滚动至“单向”部分):

http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-
mapping-association-
collections

它说,与联接表进行单向一对多关联比仅在拥有实体中使用外键列更可取。我的问题是,为什么它更受欢迎?


问题答案:

考虑以下情况:拥有实体类型也可以由另一个父实体类型拥有。您是否将拥有的表中的外键引用放到两个父表中?如果您有三种父类型,该怎么办?它只是不能扩展到大型设计。

联接表将联接解耦,以便拥有的表不了解父表,从而允许设计优雅地扩展。



 类似资料:
  • 在我的应用程序中,用户和首选项实体之间存在多对多关联。由于连接表需要一个额外的列,因此我必须将其分解为2个一对多的关联: 用户实体: 偏好实体: 用户首选项实体: 为了更新其中一个首选项,我循环浏览用户的一组首选项,并更新值如下: 我已经确认,我试图更新的用户变量在代码运行后确实包含新值。更奇怪的是,当重定向发生时,该值会在网页上更新,但数据库不会更新!这是我用来做更新的代码,这个类用@Trans

  • 问题内容: 为什么hibernate对这些类使用联接表? 我既不需要联接表也不需要双向关联:( 问题答案: 因为这是它的设计方式,也是JPA规范要求它映射这样的关联的方式。如果要在广告投放表中添加联接列,请使用 这是有据可查的。

  • 我有两个实体帐户和头寸。POSITION表和ACCOUNT表有内容,但我认为至少应该有一行的POSITION_ACCOUNT表是空的。我可能做错了什么?以下是相关代码(我使用Eclipse Link 2.4.2: 就位: @许多私人名单账户; 在帐户: @ManyTo许多(mappdBy="帐户",抓取=FetchType. EAGER,级联=CascateType. PERSIST)@JoinT

  • 我有两个表,ComputerNode和Connection。ComputerNode有一个主键< code>nodeid,但连接没有主键。我无法修改表模式。如果它们有一对多的关系,我应该如何创建java POJO?基本上我的目标是做一个像这样的内部连接: 下面是 SQL 表架构。计算机节点表: 连接表: 表之间的关系是一对多的。一个计算机节点可以有多个连接 我已经创建了两个Java的POJO类,但

  • 1. 前言 本节课程和大家一起聊聊一对多关联映射。通过本节课程,你将了解到: 如何实现一对多关联映射; 如何实现双向一对多关联映射; 关联映射中的级联操作。 2. 一对多关联映射 关系型数据库中表与表中的数据存在一对多(或多对一)关系。 如学生表、班级表。一个班级有多个学生,多个学生可以在同一个班级。 一对多或多对一本质上是一样的,如同一块硬币的正面和反面,只是看待事物的角度不同而已。 数据库中有

  • 我有两个多对多关联的表。 DB详细信息:用户-->列[Id,name]