取决于您希望它是单向的还是双向的。
出于“意识形态”的原因,单向一对多只能通过连接表来完成,这是从Java的休眠模式产生的:
假设您有一个类别,其中包含许多产品,并且您想要一个单向关系-即类别知道许多产品,但是产品却不知道类别。
如果将“ category_id”字段放入“产品”表,则将使“产品”表“意识到”该产品已连接到类别。您将无法在不更改产品表的情况下删除此关系-这意味着它并不是真正的单向性。
但是,如果将类别和产品之间的关系保留在单独的联接表中,则可以将其删除,并且Product甚至不会注意到某些更改。