问题标签 [one-to-many]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
258 浏览

sql - 针对一对多/多对一情况的推荐表设置

我需要创建一个脚本,有人会在其中发布职位空缺,任何有资格的人都会看到空缺,但任何不符合条件(或选择退出)的人都不会看到空缺。因此,两个人可以访问同一个页面并看到不同的内容,有些可能相同,有些则完全不同。我不确定在 MySQL 数据库/表中安排数据的最佳方式。

例如,我可以通过发布来安排它,但这看起来有点像:

这似乎是错误的(列中的 CSV 样式)。或者我可以一个人去:

用户 1 发帖 1,发帖 2

但这是同样的问题。有没有办法让用户的独特,发布独特,并让他们只在他们匹配的地方加入?

该决定最初是通过对另一组表进行一系列查询来做出的,但是一旦运行,当用户发布职位后它不会改变时,让一些代码块一次又一次地运行似乎效率低下。

...再想一想,它可能会改变,但如果我们假设它不会改变(因为它不太可能,并且如果用户看到他们不再有资格的东西,那么后果很小),是否有一个标准的解决方案设想?

0 投票
1 回答
5462 浏览

hibernate - 左外连接提取未正确填充地图集合(HQL)

我有这样的映射类:

CurrencyTable 中有 1 行,CurrencyTableRate 中有 3 行引用数据库中的 CurrencyTable。

当我使用 HQL 加载 CurrencyTable 时:

我在 rateMap 中得到一个包含三个条目的实体,但如果我尝试这个:

rateMap 中只有一个条目。

我查看了 Hibernate 生成的查询并手动运行它——它返回了三行,正如预期的那样,所以在获取后映射它们似乎是一个问题。有没有人遇到过这样的问题?我使用 Hibernate 版本 3.2.6.ga 和 Oracle 10g

0 投票
2 回答
179 浏览

java - 自定义加入 Hibernate 上的实体

我们有一个带有注释的基于 Hibernate 的系统。

我们的实体有一个自定义属性 DELETED。我们必须选择具有未删除子实体的未删除实体。我们怎么能做到呢?

描述情况的小样本:

Location 扩展了 GenericEntity 实体,并且还具有 DELETED 属性。

我们如何选择一些未删除的具有未删除位置的 GenericEntities?

0 投票
2 回答
17122 浏览

java - Hibernate 单向父/子关系 - delete() 对子表执行更新而不是删除

如果我从父表中删除一条记录,我希望删除子表中的相应记录。如何使 Hibernate 从 Child 表中删除,而不是尝试使用 null 进行更新?

我正在使用 Hibernate 3,但此时不能使用注释。我在下面附上了 HBM、DAO 等的副本。 - 先感谢您

尝试从父/子关系中的表中删除数据时,出现以下错误:

我的桌子是:

家长

孩子:

HBM XML

0 投票
1 回答
563 浏览

hibernate - 如何在 Hibernate 中映射一组对象而没有同名主键?

我有一个代表表的域对象类。这个类与另一个表有关联,但源类的属性与目标类的属性命名不同,我不知道如何休眠映射它。

这是具有集合的类的示例(一个 CT 到多个 R 实例):

Hibernate 接受这个映射,但是当我从我知道应该存在的 CT 实例中提取 Rs 集时,我只得到一个空的 PersistentSet。

请注意,对于每个 CT 实例,完全有可能没有或超过一个 R。这就是为什么我在那里有比较器的原因——我无法弄清楚如何在没有显式 SQL 的情况下轻松地告诉 Hibernate 如何执行 ORDER BY 子句(我犹豫要不要在 Hibernate 映射中编写它。

有人可以帮我吗?

0 投票
3 回答
26683 浏览

nhibernate - 何时在 NHibernate / Hibernate OneToMany 关系上使用 inverse=false?

我一直试图掌握 Hibernate 的逆属性,它似乎只是概念上困难的事情之一。

我得到的要点是,当您有一个父实体(例如,Parent)使用一对多映射拥有一组子对象时,在映射上设置 inverse=true 会告诉 Hibernate '另一边(子) 有责任更新自己以维护其表中的外键引用。

在将子项添加到代码中的集合然后保存父项(设置了 cascade-all )时,这样做似乎有 2 个好处:您在数据库上保存了不必要的命中(因为没有反向集,Hibernate 认为它有两个地方更新FK关系),根据官方文档:

如果关联的列被声明为 NOT NULL,NHibernate 在创建或更新关联时可能会导致违反约束。为防止此问题,您必须使用与标记为 inverse="true" 的多值端(集合或包)的双向关联。

到目前为止,这一切似乎都说得通。我不明白的是:你什么时候不想在一对多的关系上使用 inverse=true ?

0 投票
2 回答
1280 浏览

nhibernate - 如何告诉 NHibernate 将一对多关系映射到 List而不是 IList?

我可以以某种方式告诉 NHibernate 将我的一对多关系映射到 List 类型的属性而不是接口 IList 吗?

我知道 NHibernate 使用它自己的 IList 实现来延迟加载,但我不需要这个功能。相反,我需要一个可序列化的类,而我无法通过使用 IList 接口而不是具体的 List 类来完成。

0 投票
4 回答
750 浏览

mysql - 可扩展的一对多表(MySQL)

我有一个 MySQL 数据库,并且该数据库中的特定表需要以一对多的方式自我引用。对于可扩展性,我需要找到最有效的解决方案。对我来说最明显的两种方式是:

1)向表中添加一个文本字段,并在其中存储主键的序列化列表

2)保留一个链接器表,每一行都是一对一的。

在案例 #1 中,我看到表变得非常非常宽(使用空间类比),但在案例 #2 中,我看到链接器表增长到非常多的行,这会减慢查找速度(迄今为止最普通操作)。

在 MySQL 中实现这种一对多关系的最有效方式是什么?或者,也许有一个更明智的解决方案,以某种方式将数据全部直接保存在文件系统上,或者其他一些存储引擎上?

0 投票
0 回答
1544 浏览

linq-to-sql - 一对多关系中的复合外键?

我正在尝试在 LINQ to SQL 中对数据库进行建模。我有一张表 JournalPosts。每个实体都与 1 个或多个发件人或收件人相关联。我的表“JournalPosts”中有以下复合主键:

我在 JournalPosts 中定义了这样的一对多关系:

在我的另一个表(SenderRecipients)中,我尝试定义如下字段:

问题是,我得到一个“对象引用未设置为对象的实例”。尝试创建数据库时出错。但是,如果我在另一个表(SenderRecipients)中指定 Column 属性而不是 Association-attributes,它可以工作(但是这些列没有设置为数据库中的外键 - 这是我想要的)。

0 投票
2 回答
5693 浏览

hibernate - 带标准的一对多

enter code here我想对项目列表应用限制,因此只会检索给定日期的项目。

这是我的映射:

我试过这段代码:

这导致以下问题:

其次是

但我需要的是这样的:

其次是

知道如何在项目列表上应用标准吗?