package com.example.springdemo.entities; import com.example.springdemo.entities.RBAC.Roles; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.ArrayList; import java.util.List; //用户类 @Data @Builder @NoArgsConstructor @AllArgsConstructor @Entity @Table(name = "Users") public class Users { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;//主键,用户ID private String name;//用户姓名 private String sex;//用户性别 @Column(name = "phoneNumber") private String phoneNumber;//用户联系方式 private String address;//家庭住址 //一个用户可能会有多个订单,关系是一对多 @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinTable(name = "users_orders", joinColumns = {@JoinColumn(name = "usersID", referencedColumnName = "id")}, inverseJoinColumns = {@JoinColumn(name = "ordersID", referencedColumnName = "id")}) private List orders = new ArrayList<>();//订单 @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinTable(name = "users_roles", joinColumns = {@JoinColumn(name = "usersID", referencedColumnName = "id")}, inverseJoinColumns = {@JoinColumn(name = "rolesID", referencedColumnName = "id")}) private Roles roles;//RBAC角色 }