desvergue-de-alexandro
java 54 lines 1.15 KB
Raw
1 package com.tecmilenio.mapsconect.entity;
2
3 import jakarta.persistence.*;
4 import lombok.AllArgsConstructor;
5 import lombok.Builder;
6 import lombok.Data;
7 import lombok.NoArgsConstructor;
8
9 import java.time.LocalDateTime;
10
11 @Entity
12 @Table(name = "usuarios")
13 @Data
14 @NoArgsConstructor
15 @AllArgsConstructor
16 @Builder
17 public class Usuario {
18
19 @Id
20 @GeneratedValue(strategy = GenerationType.IDENTITY)
21 @Column(name = "id_usuario")
22 private Integer id;
23
24 @Column(name = "correo", nullable = false, unique = true, length = 100)
25 private String email;
26
27 @Column(nullable = false, length = 100)
28 private String nombre;
29
30 @Column(nullable = false, length = 100)
31 private String apellido;
32
33 @Column(name = "contrasena_hash", nullable = false)
34 private String contrasena;
35
36 @Enumerated(EnumType.STRING)
37 private Rol rol;
38
39 @Builder.Default
40 @Column(nullable = false)
41 private Boolean activo = true;
42
43 @Builder.Default
44 @Column(nullable = false)
45 private LocalDateTime fechaCreacion = LocalDateTime.now();
46
47 @Column
48 private LocalDateTime fechaActualizacion;
49
50 public enum Rol {
51 ESTUDIANTE, DOCENTE, EGRESADO, ADMIN
52 }
53
54 }