40 lines
1.3 KiB
Java
40 lines
1.3 KiB
Java
package com.example.springdemo.entities;
|
||
|
||
import com.example.springdemo.entities.RBAC.Roles;
|
||
import jakarta.persistence.*;
|
||
import lombok.*;
|
||
|
||
import java.util.List;
|
||
|
||
//用户类
|
||
@Getter
|
||
@Setter
|
||
@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> orders;//订单
|
||
|
||
@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角色
|
||
}
|