/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.ufcspa.simdecs.entidade; import java.io.Serializable; import java.util.Collection; import java.util.Date; import javax.persistence.*; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * * @author pbarros */ @Entity @Table(name = "usuario") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Usuario.findAll", query = "SELECT u FROM Usuario u"), @NamedQuery(name = "Usuario.findById", query = "SELECT u FROM Usuario u WHERE u.id = :id"), @NamedQuery(name = "Usuario.findByAprovado", query = "SELECT u FROM Usuario u WHERE u.aprovado = :aprovado"), @NamedQuery(name = "Usuario.findByAtivo", query = "SELECT u FROM Usuario u WHERE u.ativo = :ativo"), @NamedQuery(name = "Usuario.findByDatacriacao", query = "SELECT u FROM Usuario u WHERE u.datacriacao = :datacriacao"), @NamedQuery(name = "Usuario.findByDatanascimento", query = "SELECT u FROM Usuario u WHERE u.datanascimento = :datanascimento"), @NamedQuery(name = "Usuario.findByEmail", query = "SELECT u FROM Usuario u WHERE u.email = :email"), @NamedQuery(name = "Usuario.findByFuncao", query = "SELECT u FROM Usuario u WHERE u.funcao = :funcao"), @NamedQuery(name = "Usuario.findByLogin", query = "SELECT u FROM Usuario u WHERE u.login = :login"), @NamedQuery(name = "Usuario.findByNome", query = "SELECT u FROM Usuario u WHERE u.nome = :nome"), @NamedQuery(name = "Usuario.findBySenha", query = "SELECT u FROM Usuario u WHERE u.senha = :senha"), @NamedQuery(name = "Usuario.findBySexo", query = "SELECT u FROM Usuario u WHERE u.sexo = :sexo"), @NamedQuery(name = "Usuario.findByTelefone", query = "SELECT u FROM Usuario u WHERE u.telefone = :telefone")}) public class Usuario implements Serializable { private static final long serialVersionUID = 1L; @Id @SequenceGenerator(name = "sequenceUsuario", sequenceName = "sqUsuario", initialValue = 1, allocationSize=1) @Basic(optional = false) @NotNull @Column(name = "id") private Long id; @Basic(optional = false) @NotNull @Column(name = "aprovado") private boolean aprovado; @Basic(optional = false) @NotNull @Column(name = "ativo") private boolean ativo; @Column(name = "datacriacao") @Temporal(TemporalType.DATE) private Date datacriacao; @Column(name = "datanascimento") @Temporal(TemporalType.DATE) private Date datanascimento; // @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="E-mail inválido")//if the field contains email address consider using this annotation to enforce field validation @Basic(optional = false) @NotNull @Size(min = 1, max = 40) @Column(name = "email") private String email; @Size(max = 100) @Column(name = "funcao") private String funcao; @Basic(optional = false) @NotNull @Size(min = 1, max = 30) @Column(name = "login") private String login; @Basic(optional = false) @NotNull @Size(min = 1, max = 70) @Column(name = "nome") private String nome; @Basic(optional = false) @NotNull @Size(min = 1, max = 20) @Column(name = "senha") private String senha; @Size(max = 1) @Column(name = "sexo") private String sexo; @Size(max = 20) @Column(name = "telefone") private String telefone; @OneToMany(mappedBy = "usuId") private Collection usuarioCollection; @JoinColumn(name = "usu_id", referencedColumnName = "id") @ManyToOne private Usuario usuId; public Usuario() { } public Usuario(Long id) { this.id = id; } public Usuario(Long id, boolean aprovado, boolean ativo, String email, String login, String nome, String senha) { this.id = id; this.aprovado = aprovado; this.ativo = ativo; this.email = email; this.login = login; this.nome = nome; this.senha = senha; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public boolean getAprovado() { return aprovado; } public void setAprovado(boolean aprovado) { this.aprovado = aprovado; } public boolean getAtivo() { return ativo; } public void setAtivo(boolean ativo) { this.ativo = ativo; } public Date getDatacriacao() { return datacriacao; } public void setDatacriacao(Date datacriacao) { this.datacriacao = datacriacao; } public Date getDatanascimento() { return datanascimento; } public void setDatanascimento(Date datanascimento) { this.datanascimento = datanascimento; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getFuncao() { return funcao; } public void setFuncao(String funcao) { this.funcao = funcao; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } public String getSexo() { return sexo; } public void setSexo(String sexo) { this.sexo = sexo; } public String getTelefone() { return telefone; } public void setTelefone(String telefone) { this.telefone = telefone; } @XmlTransient public Collection getUsuarioCollection() { return usuarioCollection; } public void setUsuarioCollection(Collection usuarioCollection) { this.usuarioCollection = usuarioCollection; } public Usuario getUsuId() { return usuId; } public void setUsuId(Usuario usuId) { this.usuId = usuId; } @Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Usuario)) { return false; } Usuario other = (Usuario) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; } @Override public String toString() { return "org.ufcspa.simdecs.entidade.Usuario[ id=" + id + " ]"; } }