package model; import jakarta.persistence.*; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; @Entity @Table(name = "utilisateurs") public class Utilisateur { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "nom_utilisateur", length = 50) @NotBlank(message = "Le nom d'utilisateur doit-être renseigné") @Size(min = 3, max = 50, message = "Le nom d'utilisateur doit contenir entre {min} et {max} caractères") private String nomUtilisateur; @Column(name = "mot_de_passe", length = 100) @NotBlank(message = "Le mot de passe doit-être renseigné") @Size(min = 10, max = 50, message = "Le mot de passe doit contenir entre {min} et {max} caractères") @Pattern(regexp = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).{10,}$", message = "Le mot de passe doit contenir au moins 10 caractères, une majuscule, un chiffre et un caractère spécial") private String motDePasse; @Column(name = "est_connecte") private boolean estConnecte; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getNomUtilisateur() { return nomUtilisateur; } public void setNomUtilisateur(String nomUtilisateur) { this.nomUtilisateur = nomUtilisateur; } public String getMotDePasse() { return motDePasse; } public void setMotDePasse(String motDePasse) { this.motDePasse = motDePasse; } }