问题标签 [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 回答
875 浏览

symfony1 - 原则 1.2:我如何防止将约束分配给一对多关系的双方?

有没有办法阻止 Doctrine 在一对一关系的双方分配约束?我尝试将定义从一侧移动到另一侧并使用拥有侧,但它仍然对两个表都施加了约束。当我只希望父表有一个约束时 - 即。父母可能没有关联的孩子。

例如,我本质上想要以下 sql 模式:

但是我得到这样的东西:

我可以手动删除约束或修改我的访问器以返回/设置集合中的单个实体(使用一对多),但似乎应该内置处理此问题的方法。

我也在使用 Symfony 1.4.4 (pear installtion ATM) - 如果它是 sfDoctrinePlugin 问题而不一定是 Doctrine 本身。

0 投票
4 回答
331 浏览

sql - 在 SQL/MySQL 中,是否有理由不将一对一的关系放在同一张表中?

一对一的关系通常可以存储在同一个表中。是否有理由不将它们存储在同一张表中?

0 投票
5 回答
30086 浏览

java - Hibernate 中可选的一对一映射

如何在休眠 hbm 文件中创建可选的一对一映射?例如,假设我有一个 User 和一个 last_visited_pa​​ge 表。用户可能有也可能没有 last_visited 页面。这是我当前在 hbm 文件中的一对一映射:

用户等级:

LastVisitedPage 类:

上面的示例不允许创建没有上次访问页面的用户。新创建的用户尚未访问任何页面。如何更改 hbm 映射以使 userPrefs 映射可选?

0 投票
2 回答
4690 浏览

nhibernate - 带有子对象插入错误的 Nhibernate 一对一映射问题

由于以下 Nhibernate 问题,我整天都在用头撞桌子。

每个银行账户都有一组(并且只有一组)与之关联的利率。银行账户表的主键BankAccountID也是外键,也是AccountRate表的主键。

我有以下 BankAccount 的 HBM 映射:

以及 AccountRate 的以下内容:

可以毫无问题地从数据库中读取现有的 BankAccount 对象。但是,当创建一个新的 BankAccount 时,插入语句失败:

问题似乎是首先创建了子对象 AccountRate 。由于尚未从其 Parent 获得标识符,因此插入失败。

我认为我的说法是正确的,如果 BankAccount 上的 AccountRate 属性是一个集合,我可以使用以下内容吗?

为了强制先插入父级。

谁能帮我这个?我真的不想使用集合,这些表之间只有单向的一对一关系。

谢谢

保罗

0 投票
1 回答
168 浏览

nhibernate - NHibernate 从一对多到一对一

我正在为我正在创建的软件创建安全系统,我想知道如何在 NHibernate 中执行以下操作(如果可能的话)

用户帐户类:

特权等级:

我将拥有大量这些特权对象(每个交易实体一个),因此在数据库中我有以下表格:

UserAccounts ( UserID , Username)
权限 ( UserID, PrivilegeType , Read,Write,Modify,Delete)

如何将 InvoicePrivielge 属性从用户帐户映射到 (UserID, 'Invoice') 权限。

我可以使用多对一来做到这一点,但我不想要特权集合,我宁愿将它映射到它的属性。

0 投票
1 回答
140 浏览

database - 如何将 grails 中的 1 对 1 关系映射到只有 1 个表?

假设我有一个包含 UserPreferences 域类的 UserAccount 域类。我这样做是为了将字段分开以用于组织目的。有没有办法告诉 grails/gorm 我真的希望它只将这些域类映射到幕后的 user_account 表?

谢谢!

0 投票
2 回答
150 浏览

nhibernate - NHibernate 复杂的一对一映射

有一个表 A 包含实体的常见未版本化数据。还有带有特定实体类型的版本化数据的表 B、C、D。所有这些表都引用表 A。

任务是添加实体类型的属性的映射,例如,存储在表 B 中,它将引用表 A,并指定一个规则应如何根据表 A 中的标识符从表 B 中获取实体。(例如,以获取实体的最新版本)。

NHibernate 有可能吗?

0 投票
1 回答
625 浏览

.net - LINQ-to-SQL 中与整数键的可空一对一关系

我有两个对象 (FooBar),它们之间具有一对零或一的关系。因此, Foo 具有对 Bar.ID 的可空外键引用和(nullbusted)唯一索引以强制执行“1”侧。Bar.ID 是一个 int,因此 Foo.BarID 是一个可为空的 int。

该问题出现在 .NET 类型到 SQL 数据类型的 LINQ-to-SQL DBML 映射中。由于int在 .NET 中不是可为空的类型,因此它被包装在Nullable<int>. 但是,这与 不同类型int,因此当我尝试在它们之间创建 OneToOne 关联时,Visual Studio 会给出以下错误消息:

无法创建关联“Bar_Foo”。属性没有匹配的类型:“ID”、“BarID”。

有没有解决的办法?

0 投票
4 回答
2144 浏览

java - @OneToOne 注释问题(我认为...)

我是 hibernate 和 JPA 的新手,我在注释方面遇到了一些问题。

我的目标是在数据库中创建这个表(带有个人详细信息的PERSON_TABLE)

首先,我在 db 中有一个 MUNICIPALITY 表,其中包含我国家的所有自治市。我在这个实体中映射了这个表:

然后我制作了一个 EMBEDDABLE 类地址,其中包含实现简单地址的字段......

最后我将这个类嵌入到 Person ENTITY

当我必须保存一个新的 Person 记录时,一切都很好,事实上,hibernate 根据我的需要创建了一个 PERSON_TABLE,但是如果我尝试检索一个 Person 记录,我会遇到一个异常。HQL 只是“来自 Person”的 excpetion 是(实体是包含上述所有类的包):

@OneToOne 注释是问题吗?

我的 hibernate.cfg.xml 是这样的:

谢谢。

0 投票
2 回答
2800 浏览

nhibernate - 如何进行这种单向 NHibernate 一对一映射?

这是NHibernate中单向一对一映射的问题。

学生.cs

StudentDetail.cs

如何将这些类(hbm 映射文件看起来如何)映射到以下一对一关系的情况?

替代文字

请仔细查看课程和表格。

我可以把<many-to-one>标签放在哪里Student.hbm.xmlStudentDetail.hbm.xml如果我把它放进去Student.hbm.xml,我怎么能映射列StudentDetail.StudentID,因为它在另一个表中?

所以这个映射:

生成以下异常:

另一方面<many-to-one>不能放在StudentDetail.hbm.xml. Coz,StudentDetail.cs不包含任何类型的属性Student

我可以使用<one-to-one>-tag 吗?如果是,我应该把它放在哪里,在Student.csStudentDetail.cs?我应该如何配置它?