在 oneToMany 关系中的两个不同实体中使用一个实体是一种好的做法吗?

Is this a good practice to use one entity in two different entities in a oneToMany Relationship?

我实际上有 3 个实体:BountyDocumentComment。当我第一次制作 Comment 实体时,它是为了文档 Commentary 目的。后来我添加了一个名为“Bounty”的较新实体,并且我希望使用我已经在 Document 中使用的相同 Comment 实体实体。

我希望避免拥有一个 DocumentComment 实体和另一个 BountyComment 实体。

拥有一个 评论 实体是一种很好的方法,还是我应该将它们分成两个不同的实体?

如果对实体进行分组是一个好习惯,那么在可以重复输入的情况下如何使它们适合?

如果两个身份具有完全相同的结构并且这一事实永远不会改变,您可以将它们组合在一起。但是,每条评论都属于其他实体,因此如果它属于文档,则需要 属性 "document"。如果它属于赏金,则需要 属性 "bounty"。所以两者不一样。

如果您正在使用 ORM(例如 Doctrine),您可以使用共享基础 class 并从中扩展。 Doctrine 将为每种类型创建单独的表,但您可以在实体 classes 之间共享功能。参见 http://doctrine-orm.readthedocs.org/en/latest/reference/inheritance-mapping.html