Java 使用SPRING、Angular 10和MySQL从多对多表检索数据

Java 使用SPRING、Angular 10和MySQL从多对多表检索数据,java,mysql,angular,spring-boot,hibernate,Java,Mysql,Angular,Spring Boot,Hibernate,如何使用spring和mySQL从多对多表中获取数据?我有一个名为“User”的类和另一个名为“address”的类。通过Spring,它创建数据库表。我需要根据用户名、电子邮件或用户ID获取与用户关联的所有地址。谢谢你的帮助。我是一名初级开发人员 请在下面找到我的“user”和“address”类。省略了getter、setter、imports和constructor 用户: @实体 @表(name=“users”,uniqueConstraints={@UniqueConstraint(c

如何使用spring和mySQL从多对多表中获取数据?我有一个名为“User”的类和另一个名为“address”的类。通过Spring,它创建数据库表。我需要根据用户名、电子邮件或用户ID获取与用户关联的所有地址。谢谢你的帮助。我是一名初级开发人员

请在下面找到我的“user”和“address”类。省略了getter、setter、imports和constructor

用户:

@实体
@表(name=“users”,uniqueConstraints={@UniqueConstraint(columnNames={“username”}),
@UniqueConstraint(columnNames={“userEmail”})})
@资料
公共类用户{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私有长用户ID;
@NotNull
@列(唯一=真)
私有字符串用户名;
私有字符串userFirstName;
私有字符串userLastName;
私有字符串userMobileNumber;
私有字符串密码;
@NotNull
@列(唯一=真)
私人字符串用户电子邮件;
私有字符串用户性别;
@ManyToMany(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name=“user\u addresses”,joinColumns={@JoinColumn(name=“user\u id”)},inverseJoinColumns={
@JoinColumn(name=“address\u id”)}
私有集地址=新HashSet();
@ManyToMany(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinTable(name=“user\u roles”,joinColumns={@JoinColumn(name=“user\u id”)},inverseJoinColumns={
@JoinColumn(name=“role\u id”)}
私有集角色=新HashSet();
}
地址:

@Getter
@Setter
@Entity
@Table(name = "addresses")
public class Addresses {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long addressID;

    private String addressStreet;
    private String address_Business_Residential;
    private String addressBusiness_Type;
    private String addressComplex_Building;
    private String addressSuburb;
    private String addressCity_Town;
    private String addressProvince;
    private String addressPostal_Code;

    @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "addresses")
    private Set<User> user = new HashSet<>();
}
@Getter
@塞特
@实体
@表(name=“地址”)
公共类地址{
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
私有长地址ID;
私家街;;
私人字符串地址\商业\住宅;
私有字符串地址类型;
私人综合大楼;
私人字符串地址;
私人城市;;
各省私营部门;
专用字符串地址邮政编码;
@ManyToMany(fetch=FetchType.LAZY,cascade={CascadeType.PERSIST,CascadeType.MERGE},mappedBy=“addresses”)
private Set user=new HashSet();
}
@Getter
@Setter
@Entity
@Table(name = "addresses")
public class Addresses {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long addressID;

    private String addressStreet;
    private String address_Business_Residential;
    private String addressBusiness_Type;
    private String addressComplex_Building;
    private String addressSuburb;
    private String addressCity_Town;
    private String addressProvince;
    private String addressPostal_Code;

    @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "addresses")
    private Set<User> user = new HashSet<>();
}