问题标签 [one-to-one]

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 投票
2 回答
239 浏览

java - hibernate 一对一反转

我有两个类 A 和 B 应该通过外键建立一对一的关系。A 有 a_id 作为主键,B 有 a_id 外键但我希望 B 类只知道 A 的标识符(即没有B类中A类型的字段),而A加载整个B类

我试过(A班)

但是hibernate试图加入

代替

任何想法如何实现预期行为?

谢谢

0 投票
1 回答
1197 浏览

hibernate - Hibernate 使用复合键和非主属性的一对一映射

所以这是我的问题。我有这两张表,它们自己映射得很好。我删除了一些附加字段,因为它们无关紧要。我需要在 Item 和 ItemAdminScrtyGrp 之间为项目的所有者进行一对一的映射。我已经包含了用于获取项目所有者的 SQL。更改数据库架构不是一种选择。有什么想法可以将复合键的一部分和映射的非主属性结合起来吗?

休眠映射

SQL

感谢您的任何帮助,您可以提供。

0 投票
4 回答
4633 浏览

hibernate - 使用 @OneToOne 注释从表中删除

我正在使用 JPA2 和 Hibernate 实现。

我有这样的简单映射:

现在,当我删除也在 Topic 中的 Poll 对象时,我得到一个错误。

java.sql.SQLException:完整性约束违反 FKCC42D924982D3F4B 表:语句中的 TOPICS [从 id=? 的投票中删除]

我知道这是因为如果轮询记录在另一个表中有引用,我无法删除它。我怎么解决这个问题?我必须在主题表中手动设置 poll = null 还是有更好的解决方案?

0 投票
3 回答
128 浏览

c# - 一对一映射类的嵌套类型或其他解决方案

我有一个类需要以某种方式封装一些功能。

我正在考虑一个嵌套类,并将该功能和一些状态放入其中。这两个类之间的关系是一对一的。

访问应该声明的外部类成员变量或方法的问题static,我不想要它。另一种解决方案是将外部类的引用传递给内部类。

我的问题的最佳做法是什么?

0 投票
5 回答
991 浏览

nhibernate - 映射一对一关系不允许插入

我正在尝试设置从我的用户到 UserDetails 表的一对一映射。假设我的数据库中有以下表格:

我创建了以下 poco 类:

哪些被流畅地映射(请注意 xml 映射非常相似,如果您只知道 xml 映射,那么我仍然会感谢您的指导):

一切都正确显示,但如果我说:

我得到错误:

“NHibernate.Id.IdentifierGenerationException:为:UserDetails 生成了空 id。”

如果有人能告诉我我做错了什么,我将不胜感激。谢谢

编辑:感谢 Jamie Ide 的建议。我已将我的用户映射更改为:

但是现在当我插入一个用户时,我得到了错误:

“System.ArgumentOutOfRangeException:索引超出范围。必须为非负数且小于集合的大小。”

如果我将 Cascade.All() 添加到我的参考中,我会收到关于生成的空 id 的原始错误。

0 投票
3 回答
17706 浏览

java - 具有共享主键的 JPA / Hibernate 单向一对一映射

我很难尝试建立单向的一对一关系来使用 JPA(提供者:Hibernate)。在我看来,这不应该太麻烦,但显然 JPA / Hibernate 不同意这一点;-)

问题是我必须映射一个我无法更改的旧模式,并且该模式使用两个实体之间的共享主键,该主键同时是一个实体的外键。

我创建了一个简单的TestCase:

DB 如下所示:

父母(=一对一的拥有方)如下所示:

孩子:

我完全看到了 JPA 不知道如何为孩子分配 id 的问题。但是,我也尝试使用 Hibernates“外来”密钥生成器,但也没有成功,因为它需要从子级反向引用父级,这是不可取的。这个问题对我来说似乎并不少见,所以我在这里错过了什么?有解决办法吗?如果纯 JPA 不提供解决方案,我也可以使用休眠扩展。

我对正确行为的期望是:如果我试图坚持带孩子的父母:

  1. 从序列中获取 ID,将其设置在父级上
  2. 坚持父母
  3. 为孩子设置父母的ID
  4. 坚持孩子

如果我尝试持久化一个“独立”子级(例如 entityManager.persist(aChild)),我会期待一个 RuntimeException。

任何帮助是极大的赞赏!

0 投票
2 回答
688 浏览

sql-server - Fluent Nhibernate 和 HasOne() 问题

你如何与流利的 nhibernate 建立一对一的关系?我正在使用 ms sql server 2008,每次我通过数据库图表查看器查看 db 表时,应该具有一对一关系的表似乎没有它们。

所以我尝试了这个,但没有奏效。

0 投票
1 回答
420 浏览

nhibernate - NHibernate - 一对一映射

我在 Person 类和 Employee 之间有一对一的关系。我希望 INSERT 从 Person 级联到 Employee。但是,这不会发生。我已经在一对一的关系元素上尝试了 cascade='all' 和 cascade='save-update' ,但它没有用。我还上传了我的整个源代码:http ://bit.ly/gnkxBr (3.52 MB)

my对象的结构如下:

映射文件如下所示:

0 投票
1 回答
1043 浏览

nhibernate - 一对一和指定列

我得到以下映射:

表(伪):

我的问题是 nhibernate 在获取扩展名时使用 users.id 而不是 users.extension_id 。我的映射是否以任何方式不正确?

更新

我更改为many-to-one绑定,现在它可以工作了。我想我一定误解了one-to-one它是如何使用的?

0 投票
1 回答
522 浏览

django - django_tables 并通过相关经理向后遵循一对一的关系

我正在尝试使用 django-tables 从一些模型中创建一个可排序的表。

http://elsdoerfer.name/docs/django-tables/types/models.html#spanning-relationships说我可以跨越关系,但我很难“向后”做。

这是我的模型和表格:

例如,当尝试在模板中使用 my_average_price 时,我收到此错误:

任何想法如何使它工作?

所有列,以及来自相关关系的列,都需要是可排序的。