- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在努力牢牢掌握拥有方的概念。无法从我在这里找到的任何问题中得到清晰的图片。基本上我正在阅读 Java EE JPA 教程。它们具有以下数据库模式,其中 PLAYER
和 TEAM
具有多对多关系
也说明了
- A player can be on many teams.
- A team can have many players.
- There is a many-to-many relationship between
PLAYER
andTEAM
.
到目前为止非常简单。但是当 is 进入编码部分时,他们将 TEAM
设为关系的拥有方。
public class Team {
private Collection<Player> players;
@ManyToMany
@JoinTable(
name = "PERSITENCE_ROSTER_TEAM_PLAYER",
joinColumns = @JoinColumn(name = "TEAM_ID", referencedColumnName = "ID"),
inverseJoinColumns = @JoinColumn(name = "PLAYER_ID", referencedColumnName = "ID")
)
public Collection<Player> getPlayers() {
return players;
}
}
public class Player {
private Collection<Team> teams;
@ManyToMany(mappedBy = "players")
public Collection<Team> getTeams() {
return teams;
}
}
我对代码的理解没有问题。我无法处理的是:
1. How is it determined that
TEAM
is the owning side?2. Would it make any difference if
PLAYER
was made the owning side instead, in this scenario?
教程中也有说明。
"The entity that specifies the
@JoinTable
is the owner of the relationship, so theTEAM
entity is the owner of the relationship with thePLAYER
entity."
话虽这么说:
3. Would the above statement make my second question true? Meaning that there is no determining factor besides which one you decide to make the owning side, with the
@JoinTable
annotation?
最佳答案
- How is it determined that TEAM is the owning side?
在双向场景中的多对多关系的情况下,可以任意选择关系的所有者,但考虑到您应该选择更有意义的实体首先检索或根据您的需要使用更多的实体目的。你只需要记住 Many 总是需要在 ManyToOne 场景中作为拥有方。
- Would it make any difference if PLAYER was made the owning side instead, in this scenario?
不,不会,因为关系是双向的。
- Would the above statement make my second question true? Meaning that there is no determining factor besides which one you decide to make the owning side, with the @JoinTable annotation?
是的,@JoinTable 必须像其他一些注释一样位于关系的所有者中。选择所有者后,您应该在该类中添加注释。
还要考虑在应用时需要的级联操作,以及关系的两边是否都需要。
关于java - 这个多对多关系的 "Owning Side"是怎么确定的呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21985308/
哪个更好: class Owner { public: void SomeMethodA() { _ownee.SomeMethodA(); } int
这是如何Cow定义: pub enum Cow where B: 'a + ToOwned + ?Sized, { Borrowed(&'a B), Owned(::Owned
我遇到过很多这样的崩溃 function signature specialization of App.CACountryDetectionViewController.receivedWhere
我有一个服务、一个存储库和一个 DbContext。存储库拥有 DbContext,服务拥有存储库。 我的存储库应该实现 IDisposable 吗?如果是这样,我的服务是否也应该实现 IDispos
我在 CentOS 7 上全新安装了未修改的 Apache。我注意到,当我查看/var/www/html 的文件夹权限时,它及其内容归 apache 所有。但是,当创建文件时,其所有者和组是 Apac
这个问题在这里已经有了答案: What is ownership of resources or pointers? (1 个回答) 2个月前关闭。 cppreference用它来描述 std::st
我正在尝试弄清楚如何构造这个数据库: 我有表 Users、表 Galleries 和表 Images。 一旦用户登录,我将他的 ID 存储为 $_SESSION[user_id] 表 Gallerie
在 Windows 上可以通过 Qt API 实现吗?我需要这样的功能/行为因为我想将我的 Qt 代码作为插件集成到第 3 方应用程序中,并且我希望尽可能无缝地进行。例如,我不想在任务栏上有另一个项目
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我可以运行以下行: ALTER SEQUENCE seqName OWNED BY table.id; 如何获取序列的 OWNED BY 设置的“所有者”(在本例中为:table.id)? 最佳答案
是否有办法获取在另一个类中调用的类的实例?例如,如果 Foo 类具有 Bar 类和 Clazz 类的实例,有没有办法使用反射通过 Clazz 类获取 Bar 类的实例? public class Fo
很难说出这里问的是什么。这个问题是模棱两可的、含糊的、不完整的、过于宽泛或修辞的,不能以其目前的形式得到合理的回答。如需帮助澄清此问题以便可以重新打开,visit the help center .
尝试在 cPanel 中创建附加域或停放域时出现以下错误: [domain name] is owned by another user. 该域未被列为附加域或托管域。 知道是什么导致了这个错误吗?
我正在尝试在对话实体和短信实体之间建立一个 OneToMany 关联。 我希望外键在对话表上。 Table_Conversation- id BIGINT- sms_id BIGINT FK REFE
我有一个多线程Delphi程序,创建一些类的多个实例,我希望每个类实例都有自己的TMultiReadExclusiveWriteSynchronizer实例,以便在特定属性的get和set方法中使用。
我想知道为什么 nodetools 不知道我的节点处理的环的百分比...... 我创建了这个键空间 CREATE KEYSPACE mykeyspace WITH replication = {'cl
如果我的网站发生错误,我会执行以下操作: Server.Transfer("/error.aspx"); 该页面有代码: protected void Page_Load(object
我有这个数据结构: 我希望有一项 Firebase 规则,允许拥有代码段的用户能够进行编辑,但其他人则不允许。所以在某种程度上,它的工作原理如下: 在添加数据之前,每个人都可以添加特定语言 添加时和添
::UPDATE::链接不再存在! 确实很奇怪,这绝对是个bug!我用另一个应用程序的 app_id 进行了测试,它工作正常。自己看: https://apps.megalopes.com/megab
我试图了解 SQL Server 的安全性,我不确定 OwnedSchema 的确切用途是什么.有人可以在这方面帮助我吗,它在哪些方面发挥着重要作用? 最佳答案 如果当前数据库主体是这些模式的所有者,
我是一名优秀的程序员,十分优秀!