问题标签 [bidirectional-relation]
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 - Jackson - 具有双向关系的实体序列化(避免循环)
我有两个实体:
我知道@JsonBackReference
和@JsonManagedReference
。它们很好,如果我要序列化Parent
.
但我还需要传输实例,Child
并且我希望parent
填充该字段。
换句话说:
- 在序列化时
Parent
它应该有children
,但它们的父字段可能是空的(可以通过使用 json 引用注释来解决)。 - 在它的序列化上
Child
应该有parent
他们的children
(但children
不必parent
填充。
有没有办法使用标准的杰克逊功能来解决它?
即跳过已经序列化的实体的序列化,而不是标记符合或不符合序列化条件的字段。
java - 具有多个连接列的 OneToMany 关系
我有这个实体Friendship
:
每个友谊只有这个实体的一个实例/记录(不是 2 个),所以约翰是简的朋友的情况不会有任何问题,但反之亦然。条目也被规范化,因此 ID 最低的友谊成员是user1
,而另一个成员是user2
,这意味着我可以通过简单的唯一约束来防止重复条目。
为了获得某个用户的友谊,我执行了一个查询
WHERE user1 = :me OR user2 = :me
.
是否可以将其映射到 的@OneToMany Set<Friendship>
属性上User
?
(Friendship
有其他属性,所以这不简单@ManyToMany Set<User> friends
)
asp.net-mvc-3 - MVC3 可选双向关系代码优先
我所拥有的是类似的
我想要做的是从 BuildingUnit 到 BuildingUnitInsurance 的关系是可选的,但如果它确实存在,那么从 BuildingUnitInsurance 到 BuildingUnit 的关系必须存在。我用注释和流利的 api 尝试了一大堆东西,但我还没有真正得到任何地方。
这里的实际业务案例是有一个显示来自 BuildingUnit 类的信息的视图,然后在该页面上可以单击一个按钮并弹出一个模式以添加保险信息。单击该模式上的“添加保险”按钮会将保险信息发布到控制器,此时应该保存它,并且应该在 BuildingUnit 和 BuildingUnitInsurance 之间创建关系。对控制器代码的任何帮助也会很棒,因为我真的不知道我必须在那里做什么才能使这些关系发生。
spring - 双向多对多和DAO以HibernateException结束
我正在为学校开发一个基于 Web 的数据库前端。但是我有一个多对多关系的问题。当我注释掉它时,我的服务器启动没有问题。这是启动的堆栈跟踪。
这是多对多关系的第一个表
多对多关系的第二类。
最后是抛出异常的代码。
您可能需要访问 sourceforge.net 上的 docadmin
ruby-on-rails-3 - Rails 3:与自身具有多个双向关系的模型
我正在尝试在 Rails 3 中构建文本冒险游戏(是的,我知道这很愚蠢)。现在我有一个模型叫做 Room。每个房间需要与最多四个其他房间相关联。这种关系是双向的,因此任何两个相关的房间都是彼此的出口。例如,如果我要说:
@room2.south 会自动变成@room1。同样,如果我说:
@room2.west 也变为 nil。我想只使用模型关联来实现这一点,而不是在控制器中手动完成。这可能吗?
编辑
matzi 给出的第一个例子并不能完全按照我想要的方式工作。考虑以下:
这工作正常:
到现在为止还挺好。但:
此外:
看到这里的问题了吗?这并不是真正的双向。
解决了
事实证明,Matzi 的第一个解决方案毕竟是正确的。正如他所指出的,我在使用该解决方案时遇到的问题是储蓄问题。以下作品:
java - 杰克逊一对一序列化
我正在杰克逊寻找一种方法来允许根据根元素对关系进行序列化。例如,我的关系不是真正的父母/孩子。可以查询这两个实体。
JsonBackReference 使它在序列化为 json 时没有循环引用。但是,这也导致我不知道地址的公司。如果我要上市公司,那么地址会回来,一切都很好。但如果我列出地址,我希望看到公司被序列化。有没有办法做到这一点?
php - Symfony2 Doctrine 多对多双向保存表单类型
我在使用表单保存实体时遇到问题。给我带来问题的关系是多对多双向的。
代理实体
代理列表实体
在代理类型中
在 AgentList 类型中
它仅在我使用 AgentType 时才有效。如果我使用 AgentListType 不要保存代理关系!同样,如果我:
一切正常!如果我:
什么都不保存...
jpa - 与@ElementCollection 的三元关系 - 左连接获取行为不端
JPA 2、Eclipse 链接 2.3.2
我试图用 two@ElementCollection
而不是 two的三元关系建模,@OneToMany
主要是这样我可以使联结对象 an@Embeddable
而不是 @Entity 并避免嵌套对象需要 an @Id
。
例如
为了坚持,我将Assignment
实例添加到Project
实例中,参考右边的Employee
. 这工作正常。
此外,我也可以通过就好了来引用Project
s的列表。Employee
但是left join fetch
,如果我使用类似的查询加载员工,即使我可以看到数据库查询实际上正在执行连接并且数据正在返回select e from Employee e left join fetch e.assignments
,关联的分配/项目对象也不会被加载。
上述映射以某种方式无法left join fetch
正确交互的原因是什么?
我用过left join fetch
更简单的@ElementCollection
映射没有问题,所以我想知道问题是什么。
谢谢!
hibernate - 如何在 Hibernate (3.2) 中设置双向关系?
我在 Hibernate 中设置双向关系时遇到问题(v 3.2.1.ga - 现在无法升级)。我有一个对象 TrainingSession,它包含许多 TrainingLink 对象。所以我有
和子实体……</p>
但是当我尝试创建一个父对象,添加一个子实体并保存时,我得到了一个错误。我还需要做什么才能正确设置它?
c# - Fluent Nhibernate:如何映射双向关系
我正在尝试映射以下内容,但不确定当前的 nHibernate/fluent nHibernate 是否有可能,因此任何建议将不胜感激。
基本上我有以下两个课程
有没有办法有效地映射上述关系?我的 Venue 表有一个指向 CurrentVenueDetails 属性的 VenueDetail 的外键,同时我的 VenueDetail 也有一个指向 Venue 属性的 Venue 表的外键。
干杯