使用SPRING,Angular 10和MySQL从多对多表中检索数据

时间:2020-10-14 08:42:26

标签: java mysql angular spring-boot hibernate

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

请在下面找到我的“用户”和“地址”类。省略了获取,设置,导入和构造的方法

USER:

❯ jar tvf junit-platform-console.jar
...
  4857 Sun Nov 24 00:31:44 CST 2019 org/junit/platform/console/ConsoleLauncher.class
...

地址:

@Entity
@Table(name = "users", uniqueConstraints = { @UniqueConstraint(columnNames = { "username" }),
        @UniqueConstraint(columnNames = { "userEmail" }) })

@Data
public class User {

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

    @NotNull
    @Column(unique = true)
    private String username;

    private String userFirstName;

    private String userLastName;

    private String userMobileNumber;

    private String password;

    @NotNull
    @Column(unique = true)
    private String userEmail;

    private String userGender;

    @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    @JoinTable(name = "user_addresses", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = {
            @JoinColumn(name = "address_id") })
    private Set<Addresses> addresses = new HashSet<>();

    @ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE })
    @JoinTable(name = "user_roles", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = {
            @JoinColumn(name = "role_id") })
    private Set<Roles> roles = new HashSet<>();

}

0 个答案:

没有答案
相关问题