【问题标题】:Can we set additional many to many on tables which already are one to many?我们可以在已经是一对多的表上设置额外的多对多吗?
【发布时间】:2020-10-05 11:00:41
【问题描述】:

我在数据库中有两个表:用户和添加。我将其设置为一对多,因为一个用户可以发布多个添加,并且一个添加只能由一个用户进行。但现在我需要设置“收藏夹”功能。我想我需要将 add_id 加入到用户中。在这种情况下,一个用户可以有多个收藏夹,但一个添加也可以被多个用户收藏。所以我需要加入表。但是,如果我已经将它们设置为一对多(一个用户 -> 多个添加),我可以这样做吗?

这是用户类:

@OneToMany(mappedBy = "users")
private List<Ads> ads;

这是添加类:

@ManyToOne(cascade = {CascadeType.PERSIST})
@JoinColumn(name = "user_id")
private JwtUser users;

【问题讨论】:

  • 请不要将代码发布为图片。即使对于视力好的人来说也很难阅读,对于盲人并且您无法从他们那里跳过并在 cmets 或答案中重复使用而谷歌也无法对其进行索引时无用。
  • 你说得对,我已经编辑了问题。

标签: java sql postgresql hibernate spring-data-jpa


【解决方案1】:

是的,你可以。 这两个关系(我们称之为adsfavs)在数据库和Java 方面都是完全独立的。

您只需引入一个新属性 favs 并将其映射为多对多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多