【发布时间】:2022-01-17 09:10:17
【问题描述】:
所以我尝试将 cmets 添加到 3 个不同的模型(电影、导演和演员的评论都外键为其 id),但感觉创建模型、控制器、服务和他们每个人的存储库,最简单的方法是为每个人创建一个新的评论模型并将它们全部放入一个控制器并从那里开始工作。那可能吗?或者有没有更有效的方法通过单一模型来做到这一点?这似乎是不可能的,因为它们被设置为多对一的关系。我只是想确保这不是不好的做法或类似的事情,我只是不想有那么多感觉重复的额外代码。任何人都可以对此提出一些建议吗?谢谢!
【问题讨论】:
-
好吧,如果评论结构相同,我认为对所有模型(电影、导演和演员)使用相同的
Comment实体/表是个好主意.但是,如果 cmets 可能不同(电影 cmets != 导演 cmets,具有许多不同的属性),那么也许您应该选择不同的实体/表。这实际上取决于您,在这一点上我想说没有“好”或“坏”的做法,只是可以讨论的选择。 -
cmets 将完全相同,它们之间的唯一区别是电影 cmets 与电影 id 多对一,导演 cmets 与导演 id 等。我不知道如何建立一个可以做类似事情的模型,并且能够根据不同的 id 对多个实体进行多对一设置。希望这是有道理的
-
由于评论结构相同,您可以创建评论实体并使用具有键(movieId,commentId),(directorId,commentId)的表来解决多对多映射
标签: java spring-boot rest