【问题标题】:JPA Mapping Subscriptions & User EntitiesJPA 映射订阅和用户实体
【发布时间】:2022-01-06 08:00:09
【问题描述】:

我有一个社交网络应用程序和一个订阅表/实体和用户表/实体。我想将多对一关系从订阅映射到用户,但不确定如何最好地捕获这种关系。在JPA Relationships上阅读此链接

这是我目前的代码Link to gist code 我的注释似乎有问题。

我有一个带有 user_id 和名称的用户表/实体。我的订阅表有一个订阅者(用户)和一个发布者(用户) 和一个嵌入的复合键。 您如何映射关系然后访问表/实体以便我可以添加或删除订阅?

【问题讨论】:

  • 看到这可能会有所帮助:stackoverflow.com/questions/7979382/…
  • @vinay hegde 问题是我希望它几乎是自我参照的。就像一个用户可以订阅任意数量的其他用户一样。他可以拥有 0 到许多其他追随者(用户)。大多数解决方案都使用 2 个独立父实体的连接表。

标签: java spring hibernate jpa


【解决方案1】:

@ManyToOne 和 @OneToMany 注释应该为您完成工作。

在 User 类中使用 List,它将包含每个用户的订阅。

【讨论】:

  • 所以在我的 User 类中,我有一个带有 @OneToMany 注释的订阅列表。我怎么做映射呢?如何将用户 ID 与发布者和订阅者字段映射?
  • 您将在 Java 中映射实体。您将使用 mappedBy 属性来指定要与之映射的其他实体中的字段。 baeldung.com/hibernate-one-to-many
  • 如何设置外键约束?我在我的 User.subscribers 和 User.publication 中使用了 OneToMany 注释。在我的订阅类中,我有'''用户订阅者ID'''和'''用户发布者ID'''。他们都是多对一。我希望它指向 User 表的 user_id。见要点
  • 将它们直接映射到用户实体中的字段。
猜你喜欢
  • 2011-07-13
  • 1970-01-01
  • 2021-09-13
  • 2011-10-20
  • 2020-03-21
  • 2011-07-25
  • 2015-08-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多