当前位置: 首页 > 面试题库 >

@ManyToMany(mappedBy =“ foo”)

龙弘济
2023-03-14
问题内容

Foo具有:

@ManyToMany(mappedBy = "foos")
private Set<Bar> bars

和酒吧有:

@ManyToMany
private Set<Foo> foos

除了表被称为foo_bar还是bar_foo之外,mappedBy属性的位置对双向关系有何影响?没有mapByBy属性,我得到两个联接表,即foo_bar和bar_foo。


问题答案:

该文档说:

如果关联是双向的,则一侧必须是所有者,而一侧必须是反向端(即,在更新关联表中的关系值时,它将被忽略):

因此,具有mappedBy属性的一面是反面。没有mappedBy属性的一方是所有者。

所有者侧是Hibernate查看以了解存在哪个关联的一侧。因此,例如,如果在Bar的foo中添加Foo,则Hibernate将在连接表中插入新行。相反,如果将Bar添加到Foo的Bar组中,则不会在数据库中进行任何修改。



 类似资料:
  • 两者之间有什么区别: 而且

  • 我有三个班,站点,GoupIP和IP 一个站点有一个或多个抱怨。GroupIP有一个或多个IP。 代码如下: 地点 群居 IP 在GroupIp课堂上,我得到: 在属性“ips”中,“映射者”值“groupip”无法解析为目标实体上的属性。 我的代码出了什么问题??

  • nexr@Entity公共类产品{ 错误:

  • 问题内容: 我有一个模型: 我需要按照以下原则构造一个过滤器: 它必须是User的过滤器,并且必须是单个过滤器参数。这样做的原因是,我正在构造URL查询字符串以过滤管理员用户变更列表:http://myserver/admin/auth/user/?zones=3 看起来应该很简单,但我的大脑却不配合! 问题答案: 只是重申托马斯所说的话。 在多对多和多对一测试中,有很多样式过滤器的示例。这是你特

  • 问题内容: 我在两个实体之间有一个多对多关系:汽车和经销商。 在本机MySQL中,我有: 我想在JPQL中进行的查询是: 使JPQL等效的正确方法是什么? 我的Java方法签名是: 我努力了 这是我在Java中这种关系的JPA注释: 编辑 我也尝试过: 哪个抛出错误: 问题答案: 该参数必须是Dealership实例的集合。 如果要使用经销商ID的集合,请使用 请记住,JPQL始终使用实体,映射的

  • 问题内容: 假设我有这样的模型 如果事件添加/删除了一些用户,您如何建议更新users_count值? 问题答案: 如果可能的话,您可以引入将Event和User连接起来的模型: 并处理发送的pre_save信号以更新计数。这将大大简化m2m的处理。而且在大多数情况下,后来发现,某些逻辑和数据最适合中间模型。如果不是这种情况,请尝试使用自定义解决方案(您应该没有太多将用户添加到事件的代码路径)。