Java Spring JPA将多个用户耦合到数据以允许检索

Java Spring JPA将多个用户耦合到数据以允许检索,java,database,spring-boot,jpa,Java,Database,Spring Boot,Jpa,我正在创建一个调查应用程序来实践我在udemy上的几门课程之后的Spring Boot知识 最终目标是用户可以管理来自另一个用户的调查。调查结果耦合到给出答案的用户,并耦合到作为createdBy管理调查的用户 我想要实现的是,我可以让多个用户访问结果 @Entity public class SurveyEntity { @Id @GeneratedValue(generator="system-uuid") @GenericGenerator(na

我正在创建一个调查应用程序来实践我在udemy上的几门课程之后的Spring Boot知识

最终目标是用户可以管理来自另一个用户的调查。调查结果耦合到给出答案的用户,并耦合到作为createdBy管理调查的用户

我想要实现的是,我可以让多个用户访问结果

@Entity
public class SurveyEntity {
    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid")
    @Column(updatable = false, nullable = false)
    private String id;
    @ManyToMany
    private Set<UserEntity> allowedUsers = new HashSet<>();
    @ManyToOne
    private UserEntity createdBy;
    @ManyToOne
    private UserEntity userWhoAnswerdTheQuestions;
}
除了endUser:UserEntity关系之外,我还考虑添加一个集合allowedUsers关系,在该关系中,我将添加允许查看该调查结果的所有用户

@Entity
public class SurveyEntity {
    @Id
    @GeneratedValue(generator="system-uuid")
    @GenericGenerator(name="system-uuid", strategy = "uuid")
    @Column(updatable = false, nullable = false)
    private String id;
    @ManyToMany
    private Set<UserEntity> allowedUsers = new HashSet<>();
    @ManyToOne
    private UserEntity createdBy;
    @ManyToOne
    private UserEntity userWhoAnswerdTheQuestions;
}
@实体
公共类调查实体{
@身份证
@GeneratedValue(generator=“系统uuid”)
@GenericGenerator(name=“system uuid”,strategy=“uuid”)
@列(updateable=false,nullable=false)
私有字符串id;
@许多
private Set allowedUsers=new HashSet();
@许多酮
创建的私有用户实体;
@许多酮
私人用户回答问题的实体用户;
}
这是一个很好的方法吗?因为我需要像“给我所有我管理/允许查看调查的用户”或“给我所有我可以访问的调查”这样的查询