Subversion Repositories Integrator Subversion

Rev

Rev 259 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
259 espaco 1
package br.com.ec.domain.model;
2
 
3
import java.io.Serializable;
4
 
5
import javax.persistence.Column;
6
import javax.persistence.Entity;
7
import javax.persistence.GeneratedValue;
8
import javax.persistence.GenerationType;
9
import javax.persistence.Id;
10
import javax.persistence.JoinColumn;
11
import javax.persistence.ManyToOne;
12
import javax.persistence.SequenceGenerator;
13
import javax.persistence.Table;
325 espaco 14
import javax.validation.constraints.NotNull;
259 espaco 15
 
16
import org.hibernate.annotations.ForeignKey;
17
 
325 espaco 18
import br.com.ec.core.interfaces.Alterar;
19
import br.com.ec.core.interfaces.Cadastrar;
20
 
259 espaco 21
@Entity
22
@Table(name="sec_usuario_perfil", schema="sc_sec")
23
public class UsuarioPerfil implements Serializable {
24
 
25
        private static final long serialVersionUID = 1L;
26
 
27
        private Long sequencial;
28
        private Usuario usuario;
29
        private Perfil perfil;
30
 
325 espaco 31
        public UsuarioPerfil() {}
32
 
33
        public UsuarioPerfil(Long sequencial) {
34
                this.sequencial = sequencial;
35
        }
36
 
259 espaco 37
        @Id
38
        @SequenceGenerator(name = "sq_usuarioperfil")
39
        @GeneratedValue(strategy=GenerationType.IDENTITY)
40
        @Column(name="seq_usuario_perfil", nullable=false)
41
        public Long getSequencial() {
42
                return sequencial;
43
        }
44
        public void setSequencial(Long sequencial) {
45
                this.sequencial = sequencial;
46
        }
47
 
48
        @ManyToOne
49
        @ForeignKey(name="fk_usuarioperfil_usuario")
50
        @JoinColumn(name = "seq_usuario", nullable = false)
325 espaco 51
        @NotNull(message="Obrigatório informar o usuário", groups={Cadastrar.class, Alterar.class})
259 espaco 52
        public Usuario getUsuario() {
53
                return usuario;
54
        }
55
        public void setUsuario(Usuario usuario) {
56
                this.usuario = usuario;
57
        }
58
 
59
        @ManyToOne
60
        @ForeignKey(name="fk_usuarioperfil_perfil")
61
        @JoinColumn(name = "cod_perfil", nullable=false)
325 espaco 62
        @NotNull(message="Obrigatório informar o perfil", groups={Cadastrar.class, Alterar.class})
259 espaco 63
        public Perfil getPerfil() {
64
                return perfil;
65
        }
66
        public void setPerfil(Perfil perfil) {
67
                this.perfil = perfil;
68
        }
69
 
70
        @Override
71
        public int hashCode() {
72
                final int prime = 31;
73
                int result = 1;
74
                result = prime * result
75
                                + ((sequencial == null) ? 0 : sequencial.hashCode());
76
                return result;
77
        }
78
 
79
        @Override
80
        public boolean equals(Object obj) {
81
                if (this == obj)
82
                        return true;
83
                if (obj == null)
84
                        return false;
85
                if (getClass() != obj.getClass())
86
                        return false;
87
                UsuarioPerfil other = (UsuarioPerfil) obj;
88
                if (sequencial == null) {
89
                        if (other.sequencial != null)
90
                                return false;
91
                } else if (!sequencial.equals(other.sequencial))
92
                        return false;
93
                return true;
94
        }
95
 
96
}