问题标签 [entity-relationship]
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.
java - Hibernate 与同一实体的递归多对多关联
另一个休眠问题...:P
使用 Hibernate 的 Annotations 框架,我有一个User
实体。每个人都User
可以有一个朋友的集合:一个Collection of other User
s。User
但是,我无法弄清楚如何在由 s列表组成的类中创建多对多关联User
(使用用户朋友中间表)。
这是 User 类及其注释:
用户好友映射表只有两列,都是表列的外uid
键tbl_users
。两列是personId
(应该映射到当前用户)和friendId
(指定当前用户朋友的 id)。
问题是,“朋友”字段一直显示为空,即使我已经预先填充了朋友表,这样系统中的所有用户都是所有其他用户的朋友。我什至尝试将关系切换为@OneToMany
,但它仍然显示为 null (尽管 Hibernate 调试输出显示了一个SELECT * FROM tbl_friends WHERE personId = ? AND friendId = ?
查询,但没有别的)。
关于如何填充此列表的任何想法?谢谢!
iphone - 如何从 Core Data 中的一组可能实例中为选定的实体实例建模?
我有两个核心数据实体,比如 Account 和 House。每个帐户都可以有一个房屋列表,而房屋只能在一个帐户中,因此这是一个常规的一对多关系,具有逆向关系。
一个帐户还有一个“主要”属性,它指示许多可能的房屋中的哪一个是主要的,或者如果没有,则为零。主要财产的身份可能会发生变化,当然可能会有很多账户,每个账户都有自己的房屋收藏。
我应该将其建模为与逆的一对一关系吗?没有?
或者我应该使用属性对其进行建模,比如存储有关房屋的唯一信息,例如包裹号,然后将其添加到房屋实体中?
两种方法的优点和缺点是什么,我应该考虑另一种方法吗?
oracle - EAV 的数据建模
其他人如何使用关系建模工具将逻辑模型或第三范式映射到使用 EAV 的数据库?
database - Visio 2003:关系箭头连接数据库 ER 图中的 2 个表
我正在尝试对 2 个表 Orders 和 OrderDetails 之间的关系进行建模。我使用外键 OrderID 从 OrderDetails 绘制“关系”箭头到 Orders 表。但是在关系箭头的 DatabaseProperties 中,我得到了未知的父母和未知的孩子。如何正确连接带有关系箭头的 2 个表。
entity-framework - 实体框架 - 更改关系多重性
我的数据库中有一个表 [User] 和另一个表 [Salesperson]。[Salesperson] 定义了一个唯一的UserID,它使用外键映射到 [User].UserID。当我使用 Entity Framework 生成模型时,我得到 [User]-[Salesperson] 之间的一对多关系,这意味着每个用户都有一个“销售人员集合”,但我想要的是 0..1-to -1 关系,其中每个用户都有对“销售人员”的可为空引用。
我尝试摆弄 XML 并更改关联的多重性设置,但这只会产生构建错误。我想要实现的目标与在 [User] 中引用 [Salesperson].SalespersonID 的可为空的 SalespersonID 没有什么不同,但是因为销售人员只针对特定用户存在,所以感觉就像我只是弄乱了我的 [User] 表结构让关系在实体框架中指向正确的方向。
我能做些什么来改变这种关系的多样性吗?
jpa - 映射到主键的 JPA 实体外键
嵌套实体的主键是否可以用作嵌套实体的主键?
例如:
如果我有一个具有主键“EID”并具有嵌套实体“工作”的实体“员工”。实体“Job”具有主键“JID”和鉴别器类型“DTYPE”,因此 Job 的子类可以与它们的各个列一起存储在 DTYPE 中。对于添加到我的 Staff 表的每个不同工作,我希望主键 EID 与 JID 相同。这可能吗?
或者这是不允许的,因为“Job”可能为空,因此没有 JID 可以映射为主键?
有没有更好的方法来建模这个?
java - 在 GAE 中持久化数据 - 实体不能有 Long 主键并且是子对象
我们很难在 Google App Engine 项目中保存数据,我们有“客户”、“预订”和“房间”类。
我们的目标是映射它们之间的关系,从 Customer 到 Reservation 的一对多关系和从 Room 到同一个 Reservation 的一对多关系。
我们得到的例外是:
no.hib.mod250.asm2.model.Reservation.id 的元数据错误:不能有 java.lang.Long 主键并且是子对象(拥有字段是 no.hib.mod250.asm2.model.Customer .res)。
我们的代码如下:
客户.java
房间.java
预订.java
entity-framework - 删除关系?
什么是相反的:
我的意思是如何删除 Person.Address?(有删除和没有 - 意味着只删除关系)?
entity-framework - 取消删除标记为 EntityState.Delete 的实体?
而不是说话让我用代码说话:
我现在如何刷新上下文,取消最后一个关系删除?
我试过了:
最后一个抛出 InvalidOperationException:要刷新的对象集合中索引 0 处的元素具有 null EntityKey 属性值或未附加到此 ObjectStateManager。
重要 表结构:
联系人:名字、姓氏
电话:号码、备注
ContactPhone(多对多):ContactId (nav)、PhoneId (nav)