View Javadoc
1   package pk.lucidxpo.ynami.persistence.model.security;
2   
3   import jakarta.persistence.Column;
4   import jakarta.persistence.Entity;
5   import jakarta.persistence.Enumerated;
6   import jakarta.persistence.Table;
7   import lombok.Data;
8   import lombok.EqualsAndHashCode;
9   import lombok.NoArgsConstructor;
10  import lombok.ToString;
11  import org.hibernate.annotations.NaturalId;
12  import pk.lucidxpo.ynami.persistence.model.Auditable;
13  
14  import static jakarta.persistence.EnumType.STRING;
15  import static lombok.AccessLevel.PACKAGE;
16  
17  @Data
18  @Entity
19  @Table(name = "Roles")
20  @ToString(callSuper = true)
21  @EqualsAndHashCode(callSuper = true)
22  // TODO: Spring Upgrade - added to fix the IT, but do I really need to add?
23  @NoArgsConstructor(access = PACKAGE)
24  public class Role extends Auditable<String> {
25  
26      @NaturalId
27      @Enumerated(STRING)
28      @Column(length = 60)
29      private RoleName name;
30  
31      public Role(final RoleName name) {
32          this.name = name;
33      }
34  }