40 lines
1.1 KiB
Java
40 lines
1.1 KiB
Java
package com.utopia.wms.model.auth;
|
|
|
|
import jakarta.persistence.Column;
|
|
import jakarta.persistence.Entity;
|
|
import jakarta.persistence.FetchType;
|
|
import jakarta.persistence.GeneratedValue;
|
|
import jakarta.persistence.GenerationType;
|
|
import jakarta.persistence.Id;
|
|
import jakarta.persistence.JoinColumn;
|
|
import jakarta.persistence.JoinTable;
|
|
import jakarta.persistence.ManyToMany;
|
|
import jakarta.persistence.Table;
|
|
import lombok.Getter;
|
|
import lombok.NoArgsConstructor;
|
|
import lombok.Setter;
|
|
|
|
import java.util.HashSet;
|
|
import java.util.Set;
|
|
|
|
@Entity
|
|
@Getter
|
|
@Setter
|
|
@NoArgsConstructor
|
|
@Table(name = "roles")
|
|
public class Role {
|
|
@Id
|
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
private Long id;
|
|
|
|
@Column(nullable = false, unique = true)
|
|
private String name; // e.g., "MANAGER"
|
|
|
|
@ManyToMany(fetch = FetchType.EAGER)
|
|
@JoinTable(
|
|
name = "roles_permissions",
|
|
joinColumns = @JoinColumn(name = "role_id"),
|
|
inverseJoinColumns = @JoinColumn(name = "permission_id")
|
|
)
|
|
private Set<Permission> permissions = new HashSet<>();
|
|
} |