Classes de Entidades no banco (hibernate)
[simdecs.git] / src / java / org / ufcspa / simdecs / entidade / Usuario.java
1 /*\r
2  * To change this template, choose Tools | Templates\r
3  * and open the template in the editor.\r
4  */\r
5 package org.ufcspa.simdecs.entidade;\r
6 \r
7 import java.io.Serializable;\r
8 import java.util.Collection;\r
9 import java.util.Date;\r
10 import javax.persistence.*;\r
11 import javax.validation.constraints.NotNull;\r
12 import javax.validation.constraints.Size;\r
13 import javax.xml.bind.annotation.XmlRootElement;\r
14 import javax.xml.bind.annotation.XmlTransient;\r
15 \r
16 /**\r
17  *\r
18  * @author pbarros\r
19  */\r
20 @Entity\r
21 @Table(name = "usuario")\r
22 @XmlRootElement\r
23 @NamedQueries({\r
24     @NamedQuery(name = "Usuario.findAll", query = "SELECT u FROM Usuario u"),\r
25     @NamedQuery(name = "Usuario.findById", query = "SELECT u FROM Usuario u WHERE u.id = :id"),\r
26     @NamedQuery(name = "Usuario.findByAprovado", query = "SELECT u FROM Usuario u WHERE u.aprovado = :aprovado"),\r
27     @NamedQuery(name = "Usuario.findByAtivo", query = "SELECT u FROM Usuario u WHERE u.ativo = :ativo"),\r
28     @NamedQuery(name = "Usuario.findByDatacriacao", query = "SELECT u FROM Usuario u WHERE u.datacriacao = :datacriacao"),\r
29     @NamedQuery(name = "Usuario.findByDatanascimento", query = "SELECT u FROM Usuario u WHERE u.datanascimento = :datanascimento"),\r
30     @NamedQuery(name = "Usuario.findByEmail", query = "SELECT u FROM Usuario u WHERE u.email = :email"),\r
31     @NamedQuery(name = "Usuario.findByFuncao", query = "SELECT u FROM Usuario u WHERE u.funcao = :funcao"),\r
32     @NamedQuery(name = "Usuario.findByLogin", query = "SELECT u FROM Usuario u WHERE u.login = :login"),\r
33     @NamedQuery(name = "Usuario.findByNome", query = "SELECT u FROM Usuario u WHERE u.nome = :nome"),\r
34     @NamedQuery(name = "Usuario.findBySenha", query = "SELECT u FROM Usuario u WHERE u.senha = :senha"),\r
35     @NamedQuery(name = "Usuario.findBySexo", query = "SELECT u FROM Usuario u WHERE u.sexo = :sexo"),\r
36     @NamedQuery(name = "Usuario.findByTelefone", query = "SELECT u FROM Usuario u WHERE u.telefone = :telefone")})\r
37 public class Usuario implements Serializable {\r
38     private static final long serialVersionUID = 1L;\r
39     @Id\r
40     @SequenceGenerator(name = "sequenceUsuario", sequenceName = "sqUsuario", initialValue = 1, allocationSize=1)\r
41     @Basic(optional = false)\r
42     @NotNull\r
43     @Column(name = "id")\r
44     private Long id;\r
45     @Basic(optional = false)\r
46     @NotNull\r
47     @Column(name = "aprovado")\r
48     private boolean aprovado;\r
49     @Basic(optional = false)\r
50     @NotNull\r
51     @Column(name = "ativo")\r
52     private boolean ativo;\r
53     @Column(name = "datacriacao")\r
54     @Temporal(TemporalType.DATE)\r
55     private Date datacriacao;\r
56     @Column(name = "datanascimento")\r
57     @Temporal(TemporalType.DATE)\r
58     private Date datanascimento;\r
59     // @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\r
60     @Basic(optional = false)\r
61     @NotNull\r
62     @Size(min = 1, max = 40)\r
63     @Column(name = "email")\r
64     private String email;\r
65     @Size(max = 100)\r
66     @Column(name = "funcao")\r
67     private String funcao;\r
68     @Basic(optional = false)\r
69     @NotNull\r
70     @Size(min = 1, max = 30)\r
71     @Column(name = "login")\r
72     private String login;\r
73     @Basic(optional = false)\r
74     @NotNull\r
75     @Size(min = 1, max = 70)\r
76     @Column(name = "nome")\r
77     private String nome;\r
78     @Basic(optional = false)\r
79     @NotNull\r
80     @Size(min = 1, max = 20)\r
81     @Column(name = "senha")\r
82     private String senha;\r
83     @Size(max = 1)\r
84     @Column(name = "sexo")\r
85     private String sexo;\r
86     @Size(max = 20)\r
87     @Column(name = "telefone")\r
88     private String telefone;\r
89     @OneToMany(mappedBy = "usuId")\r
90     private Collection<Usuario> usuarioCollection;\r
91     @JoinColumn(name = "usu_id", referencedColumnName = "id")\r
92     @ManyToOne\r
93     private Usuario usuId;\r
94 \r
95     public Usuario() {\r
96     }\r
97 \r
98     public Usuario(Long id) {\r
99         this.id = id;\r
100     }\r
101 \r
102     public Usuario(Long id, boolean aprovado, boolean ativo, String email, String login, String nome, String senha) {\r
103         this.id = id;\r
104         this.aprovado = aprovado;\r
105         this.ativo = ativo;\r
106         this.email = email;\r
107         this.login = login;\r
108         this.nome = nome;\r
109         this.senha = senha;\r
110     }\r
111 \r
112     public Long getId() {\r
113         return id;\r
114     }\r
115 \r
116     public void setId(Long id) {\r
117         this.id = id;\r
118     }\r
119 \r
120     public boolean getAprovado() {\r
121         return aprovado;\r
122     }\r
123 \r
124     public void setAprovado(boolean aprovado) {\r
125         this.aprovado = aprovado;\r
126     }\r
127 \r
128     public boolean getAtivo() {\r
129         return ativo;\r
130     }\r
131 \r
132     public void setAtivo(boolean ativo) {\r
133         this.ativo = ativo;\r
134     }\r
135 \r
136     public Date getDatacriacao() {\r
137         return datacriacao;\r
138     }\r
139 \r
140     public void setDatacriacao(Date datacriacao) {\r
141         this.datacriacao = datacriacao;\r
142     }\r
143 \r
144     public Date getDatanascimento() {\r
145         return datanascimento;\r
146     }\r
147 \r
148     public void setDatanascimento(Date datanascimento) {\r
149         this.datanascimento = datanascimento;\r
150     }\r
151 \r
152     public String getEmail() {\r
153         return email;\r
154     }\r
155 \r
156     public void setEmail(String email) {\r
157         this.email = email;\r
158     }\r
159 \r
160     public String getFuncao() {\r
161         return funcao;\r
162     }\r
163 \r
164     public void setFuncao(String funcao) {\r
165         this.funcao = funcao;\r
166     }\r
167 \r
168     public String getLogin() {\r
169         return login;\r
170     }\r
171 \r
172     public void setLogin(String login) {\r
173         this.login = login;\r
174     }\r
175 \r
176     public String getNome() {\r
177         return nome;\r
178     }\r
179 \r
180     public void setNome(String nome) {\r
181         this.nome = nome;\r
182     }\r
183 \r
184     public String getSenha() {\r
185         return senha;\r
186     }\r
187 \r
188     public void setSenha(String senha) {\r
189         this.senha = senha;\r
190     }\r
191 \r
192     public String getSexo() {\r
193         return sexo;\r
194     }\r
195 \r
196     public void setSexo(String sexo) {\r
197         this.sexo = sexo;\r
198     }\r
199 \r
200     public String getTelefone() {\r
201         return telefone;\r
202     }\r
203 \r
204     public void setTelefone(String telefone) {\r
205         this.telefone = telefone;\r
206     }\r
207 \r
208     @XmlTransient\r
209     public Collection<Usuario> getUsuarioCollection() {\r
210         return usuarioCollection;\r
211     }\r
212 \r
213     public void setUsuarioCollection(Collection<Usuario> usuarioCollection) {\r
214         this.usuarioCollection = usuarioCollection;\r
215     }\r
216 \r
217     public Usuario getUsuId() {\r
218         return usuId;\r
219     }\r
220 \r
221     public void setUsuId(Usuario usuId) {\r
222         this.usuId = usuId;\r
223     }\r
224 \r
225     @Override\r
226     public int hashCode() {\r
227         int hash = 0;\r
228         hash += (id != null ? id.hashCode() : 0);\r
229         return hash;\r
230     }\r
231 \r
232     @Override\r
233     public boolean equals(Object object) {\r
234         // TODO: Warning - this method won't work in the case the id fields are not set\r
235         if (!(object instanceof Usuario)) {\r
236             return false;\r
237         }\r
238         Usuario other = (Usuario) object;\r
239         if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {\r
240             return false;\r
241         }\r
242         return true;\r
243     }\r
244 \r
245     @Override\r
246     public String toString() {\r
247         return "org.ufcspa.simdecs.entidade.Usuario[ id=" + id + " ]";\r
248     }\r
249     \r
250 }\r