package com.titanic.ventapasajes.modelo; import org.hibernate.validator.constraints.NotBlank; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import javax.persistence.*; import javax.validation.constraints.NotNull; @Entity @Table(name="pvm_usuario") public class Usuario implements Serializable{ private static final long serialVersionUID = 1L; private Long ideUsuario; private String nombreUsuario; private String email; private String dni; private String password; private Sexo sexo; private List<Grupo> grupos = new ArrayList<Grupo>(); private boolean activo; private String colorPopup; @Id @GeneratedValue @Column(name="ide_usuario", nullable=false, length=10) public Long getIdeUsuario() { return ideUsuario; } public void setIdeUsuario(Long ideUsuario) { this.ideUsuario = ideUsuario; } @NotBlank @Column(name="nombre_usuario", nullable=false, unique=true, length=50) public String getNombreUsuario() { return nombreUsuario; } public void setNombreUsuario(String nombreUsuario) { this.nombreUsuario = nombreUsuario; } @NotBlank @Column(name="email", nullable=false, unique=true, length=50) public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @NotBlank @Column(name="password", nullable=false, length=50) public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @ManyToMany @JoinTable(name = "pvr_usuario_grupo", joinColumns = @JoinColumn(name="ide_usuario"), inverseJoinColumns = @JoinColumn(name = "ide_grupo")) public List<Grupo> getGrupos() { return grupos; } public void setGrupos(List<Grupo> grupos) { this.grupos = grupos; } @Column(name="activo") public boolean isActivo() { return activo; } public void setActivo(boolean activo) { this.activo = activo; } @Column(name="dni", nullable=false, unique=true, length=10) public String getDni() { return dni; } public void setDni(String dni) { this.dni = dni; } @NotNull @Enumerated(EnumType.STRING) @Column(name="sexo", nullable=false, length = 50) public Sexo getSexo() { return sexo; } public void setSexo(Sexo sexo) { this.sexo = sexo; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((ideUsuario == null) ? 0 : ideUsuario.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Usuario other = (Usuario) obj; if (ideUsuario == null) { if (other.ideUsuario != null) return false; } else if (!ideUsuario.equals(other.ideUsuario)) return false; return true; } @Column(name="color_usuario", nullable=true, length=50) public String getColorPopup() { return colorPopup; } public void setColorPopup(String colorPopup) { this.colorPopup = colorPopup; } @Override public String toString() { return "Usuario{" + "ideUsuario=" + ideUsuario + ", nombreUsuario='" + nombreUsuario + '\'' + ", email='" + email + '\'' + ", password='" + password + '\'' + ", grupos=" + grupos + ", activo=" + activo + '}'; } }