1

Ebean 使用非常相似的 JPA 注释将对象映射到数据库中。我一直在检查@OneToOne @OneToMany @ManyToMany @ManyToOne关系。

我刚刚了解到逆场非常低效(@mappedBy用于确定双向关系时)。

我通常知道,如果我不使用 ORM 而只是使用 SQL 创建自己的数据库结构,当我遇到这个问题时:

文章 <-> 标签

这是多对多的关系。一篇文章可以有多个标签,一个标签可以附加到许多文章上。

通常,使用 SQL,我将创建一个 Article 表和一个 Tag 表。然后我将创建一个包含两列的单独表:

文章_标签表:

PrimaryKey ID (int)
ArticleID (int) ForeignKey to Article Table
TagID (int) ForeignKey to Tag Table

文章表:

PrimaryKey ArticleID (int)
Article Title (varchar)

标记表:

PrimaryKey TagID (int)
Tag Title (varchar)

我现在唯一的问题是我应该/可以如何用 Ebean(JPA) 表示法翻译/重写它?

首先,我需要为这个 Article_Tag 表创建一个名为 Article_Tag 的模型还是由 Ebean 自动创建?

其次,我应该如何注释我的文章模型和我的标签模型来描述这种关系?哪个是@mappedBy哪个?

第三,如果我使用@mappedBy,它会产生逆场吗?我应该以及如何避免使用它?

4

0 回答 0