问题标签 [bidirectional]

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 投票
4 回答
1831 浏览

java - 用于管理双向关联和反向更新的通用 Java 框架

我一直在寻找一种处理双向关联的通用方法以及一种在手动编写的 Java 代码中处理反向更新的方法。

对于那些不知道我在说什么的人,这里有一个例子。下面是我目前(不满意)解决方案的结果。

现在,当更新关联的任何一端时,为了保持一致性,另一端也必须更新。要么每次手动

或者通过将匹配代码放入 setter / getter 并使用自定义 List 实现。

我发现了一个过时的、未维护的项目,其依赖项不再可用(https://e-nspire-gemini.dev.java.net/)。它通过使用用于自动注入必要代码的注释来处理该问题。

有谁知道另一个以通用、不显眼的方式处理这个问题的框架吗?

ciao,埃尔玛

0 投票
4 回答
6047 浏览

algorithm - 在总和匹配的两组整数中查找子集的算法

我正在寻找一种算法,它可以采用两组整数(正数和负数)并在每个整数中找到具有相同总和的子集。

这个问题类似于子集和问题,除了我在两边都寻找子集。

这是一个例子:

列表 A {4, 5, 9, 10, 1}

列表 B {21, 7, -4, 180}

所以这里唯一的匹配是:{10, 1, 4, 9} <=> {21, 7, -4}

有谁知道是否有针对此类问题的现有算法?

到目前为止,我唯一的解决方案是一种蛮力方法,它尝试每种组合,但它在指数时间内执行,我不得不对要考虑的元素数量进行严格限制,以避免花费太长时间。

我能想到的唯一其他解决方案是在两个列表上运行阶乘并在那里寻找相等性,但这仍然不是很有效,并且随着列表变大,需要的时间呈指数增长。

0 投票
1 回答
18882 浏览

hibernate - 使用 Hibernate 映射双向列表

映射双向列表时,我不了解 Hibernate 的行为。Hibernate 生成的 SQL 语句对我来说似乎不是最优的。有人可以启发我吗?

场景如下:我有一个一对多的父子关系。我将这种关系映射到一个双向列表。

根据Hibernate Annotation Reference Guide(章节:与索引集合的双向关联),映射应如下所示:

但是在这种情况下,Hibernate 在持久化一个父级和一个子级时会产生三个 SQL 语句:

第三个语句似乎是多余的,因为parent_idandparent_index似乎已经在第二个语句中设置。

当我更改映射并将属性“可更新=假,可插入=假”重复到父级中@JoinColumn的声明时,如下所示:

...然后 Hibernate 似乎产生了更优化的 SQL:

客户端代码如下所示:

我正在使用休眠实体管理器 3.4.0.GA。

我错过了什么?Hibernate Reference Guide 不正确,还是我忽略了什么?

0 投票
2 回答
339 浏览

nhibernate - 双向一对多实体关联

如果我有两个对象,比如 ProductOrder 和 Product,我希望它们都能够包含对另一个的多个引用,例如

一个产品可以被多个订单引用一个 ProductOrder 可以包含多个产品。

我试图这样做......

我只是无法让它像我期望的那样工作。有什么建议么?

0 投票
1 回答
313 浏览

ruby-on-rails - rails中的双向图

我有一个简单的模型“匹配”,它应该保存两个对象(同类)之间的双向链接。

我遇到的问题是,对于我发现的每个双向匹配,我都会得到两个数据库条目。例如 1:obj1 -> obj2,2:obj2 -> obj1

我怎样才能validates_uniqueness_of在这里避免这种情况?我试过了

但这没有用。

0 投票
3 回答
1919 浏览

map - Clojure中的双向映射?

在 clojure 中实现双向映射的最佳方法是什么?(通过双向映射,我的意思是一个关联映射,它可以提供 A->B 和 B->A 访问。因此,实际上,这些值本身将是相反方向的键。)

我想我可以设置两张地图,每个方向一张,但是有没有更惯用的方法呢?

我对我们想要双射的情况感兴趣,这意味着没有两个键可以映射到相同的值,以及不强加该条件的情况。

0 投票
1 回答
4392 浏览

.net - 双向命名管道问题

我有 2 个应用程序,我想通过 .NET 3.5 上的命名管道进行通信。它是一种请求/响应范例,数据以 XML 格式传输,让我的生活更轻松。有一个侦听器应用程序和一个将请求发布到管道的应用程序。我正在尝试使用双向管道来执行此操作。我遇到的问题是对 StreamReader.ReadToEnd() 的调用似乎没有返回。我能做些什么来解决这个问题?

监听器代码

请求者代码

0 投票
1 回答
572 浏览

sql - 双向复制更新记录

我想向您介绍与 SQL Server 2005 双向复制相关的问题。我需要什么?我的团队负责人希望使用两个数据库之间的双向复制来解决我们的一个问题,每个数据库都由不同的应用程序使用。一个应用程序在表 A 中创建记录,更改应复制到第二个数据库,复制到表 A 的副本中。当第二个服务器上的数据发生更改时,这些更改必须传播回第一个服务器。我正在尝试在一台运行 SQL Server 2005 的服务器上实现两个数据库之间的双向事务复制。我设法使用脚本进行了设置,建立了 2 个发布和 2 个带有环回检测的只读订阅。创建分发数据库,​​启用两个数据库上的发布。发行商和出版商都起来了。我们正在使用一些规则来控制哪些记录将被复制,因此我们需要在复制期间调用我们的自定义存储过程。因此,文章设置为使用更新、插入和删除自定义存储过程。

到目前为止一切顺利,但是?

一切正常,正在复制更改,直到同时在两个表上完成更新或在复制更改之前(这大约需要 3-6 秒)。然后,两条记录都以不同的值结束。

结果:

db1.dbo.TestTable COL = 5

db2.dbo.TestTable COL = 4

但我们希望最后的变化赢得复制。请问有什么办法可以解决我的问题吗?如何确保两条记录中的值相同?还是有比这种复制更简单的解决方案?

我可以提供我正在使用的示例复制脚本。
我期待着你的想法,
Mirek

0 投票
1 回答
736 浏览

nhibernate - Fluent NHibernate 双向映射 - 产生两个相似的参考列

我正在尝试使用 Fluent NHibernate Mapping 实现双向映射。

来自域类的代码片段:

映射类的代码片段:

但是,当我导出模式时,它会在模板表中产生两个 FK 列,这是模板表的输出 SQL:

因为我已经指定了 FK 参考。列名称为“TemplateGroupId”,

如何避免生成 TemplateGroup_id?

0 投票
7 回答
52211 浏览

java - Java 有反向查找的 HashMap 吗?

我有以“键-键”格式而不是“键-值”组织的数据。它就像一个 HashMap,但我需要在两个方向上进行 O(1) 查找。这种类型的数据结构是否有名称,Java 的标准库中是否包含类似的内容?(或者也许是 Apache Commons?)

我可以编写自己的类,它基本上使用两个镜像地图,但我宁愿不重新发明轮子(如果这已经存在,但我只是没有寻找正确的术语)。