java - JPA:哪一方应该是 m:n 关系中的拥有方?

标签 java orm jpa many-to-many

例如,我有两个实体:ArticleTag(就像在典型的博客中一样)。每篇文章可以有多个标签,每个标签可以被多篇文章使用,是经典的m:n关系。

我需要使用 JPA 指定拥有方。但是哪一方应该是拥有方呢?一篇文章不依赖于某个标签,反之亦然。是否有确定哪一方应成为拥有方的经验法则?

最佳答案

在 JPA 中,每个双向关系都需要一个拥有方。在 ManyToMany 的特殊情况下:

  • @JoinTable 在关系的拥有方指定。
    • 拥有方是任意,您可以选择两个实体中的任何一个作为所有者。

来自 JPA 规范:

9.1.26 ManyToMany Annotation

Every many-to-many association has two sides, the owning side and the non-owning, or inverse, side. The join table is specified on the owning side. If the association is bidirectional, either side may be designated as the owning side.

关于java - JPA:哪一方应该是 m:n 关系中的拥有方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3484325/

相关文章:

java - 在 Groovy 中查找一个月的第 n 个工作日

java - 如何在一帧内添加GUI面板和DrawPanel?

go - 具有多个映射符号的结构

java.io.EOFException : No content to map to Object due to end of input while retrieving data

java - java中回调的实现

java - 解密时文件被截断

java - HIbernate 3.5.1 - 我可以直接加入 EHCache 2.0.1 吗?

linq-to-sql - .net Framework 4.0 中的 Linq2SQL 与 EF

java - 为 JPA 存储库编写 junit

java - 如何更新一对一关系表?