如何在 Spring 引导中映射组与创建它的用户具有一对一关系,同时还具有一对多用户关系?

How to map in Spring Boot where a Group has a one-to-one relationship to the User who created it, while also having one-to-many Users relationship?

我对使用 Spring Boot 非常陌生,同时,这将是我第一次尝试设计这样的东西:

组将由用户实例创建。反过来,这个 Group 实例可以有零个或多个成员。

或者看起来像这样,但我希望我不必创建两个具有相同字段的单独 table 用户:

同时,是否也可以将group_id作为Users的外键关系包含在内,这样我就可以跟踪User实例当前属于哪个组,所以可能是这样的?

我可以使用简单的@ManyToOne 注释,但这是我第一次尝试做这样的事情,如果我尝试总结如下:

  1. 用户可以创建群组
  2. 一个群组下可以有零个或多个用户
  3. 用户实例与其当前所属的组有关系。
  4. 一个用户只能属于一个组,而如数字2,一个组可以有多个成员。

我应该如何映射它?事实上,我的 ERP 应该怎么看?

谢谢。

对于创建组的用户实例:

@OneToOne
private User user;

对于组成员的用户实例:

@JsonManagedReference
@OneToMany
private List<User> members;

对于将用户实例连接到其组的反向关系:

@JsonBackReference
@ManyToOne
@JoinColumn(name = "group_id")
private Group group;