View Javadoc
1   package model.entity;
2   
3   import lombok.Getter;
4   import lombok.Setter;
5   
6   import javax.persistence.*;
7   import java.io.Serializable;
8   import java.time.Instant;
9   
10  /**
11   * Entità rappresentate il ban di un utente
12   */
13  @Entity
14  public class Ban implements Serializable {
15  
16      @Getter @Setter
17      @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
18      protected Integer id;
19  
20      @Getter @Setter
21      @ManyToOne(optional = false, fetch = FetchType.LAZY)
22      protected User user;
23  
24      @Getter
25      @Column(nullable = false, insertable = false, updatable = false)
26      protected Instant startTime; //db generated column
27  
28      @Getter @Setter
29      @Column(nullable = true)
30      protected Instant endTime;
31  
32      public Ban(){}
33  
34      @Override
35      public boolean equals(Object o) {
36          if (this == o) return true;
37          if (!(o instanceof Ban)) return false;
38          Ban ban = (Ban) o;
39          return id.equals(ban.id);
40      }
41  
42      @Override
43      public int hashCode() {
44          return getClass().hashCode();
45      }
46  }