Blame |
Last modification |
View Log
| Download
| RSS feed
package br.gov.al.saude.srv.model.historico;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import org.hibernate.envers.RevisionEntity;
import org.hibernate.envers.RevisionNumber;
import org.hibernate.envers.RevisionTimestamp;
import br.gov.al.saude.framework.core.generic.auditoria.IRevisaoEntidade;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
import br.gov.al.saude.framework.model.UsuarioView;
@
Entity
@Table
(name=
"srv_revisao_historico", schema=
"sc_srv")
@RevisionEntity
(RevisaoListener.
class)
public class RevisaoEntity
implements Serializable, IRevisaoEntidade
{
private static final long serialVersionUID = -1255842407304508513L
;
private Long sequencial
;
private Date dataHoraHistorico
;
private Long usuario
;
private UsuarioView usuarioView
;
@Id
@GeneratedValue
(generator=
"REVISAO_GENERATOR", strategy = GenerationType.
SEQUENCE)
@SequenceGenerator
(name=
"REVISAO_GENERATOR", sequenceName =
"sc_srv.sq_revishistori", initialValue =
1, allocationSize =
1, schema=
"sc_srv")
@RevisionNumber
@Column
(name=
"seq_revisao_historico")
public Long getSequencial
() {
return sequencial
;
}
public void setSequencial
(Long sequencial
) {
this.
sequencial = sequencial
;
}
@RevisionTimestamp
@Column
(name=
"dth_historico")
@Temporal
(TemporalType.
TIMESTAMP)
public Date getDataHoraHistorico
() {
return dataHoraHistorico
;
}
public void setDataHoraHistorico
(Date dataHoraHistorico
) {
this.
dataHoraHistorico = dataHoraHistorico
;
}
@Column
(name=
"seq_pessoa_usuario")
public Long getUsuario
() {
return usuario
;
}
public void setUsuario
(Long usuario
) {
this.
usuario = usuario
;
}
@
Override
public int hashCode
() {
final int prime =
31;
int result =
1;
result = prime
* result
+
((dataHoraHistorico ==
null) ? 0 : dataHoraHistorico
.
hashCode());
result = prime
* result
+
((sequencial ==
null) ? 0 : sequencial.
hashCode());
result = prime
* result +
((usuario ==
null) ? 0 : usuario.
hashCode());
return result
;
}
@OneToOne
@JoinColumn
(name=
"seq_pessoa_usuario", referencedColumnName=
"seq_pessoa", insertable=
false, updatable=
false)
public UsuarioView getUsuarioView
() {
return usuarioView
;
}
public void setUsuarioView
(UsuarioView usuarioView
) {
this.
usuarioView = usuarioView
;
}
@Transient
@
Override
public String getNomeUsuario
() {
return VerificadorUtil.
naoEstaNulo(getUsuarioView
())? getUsuarioView
().
getNomePessoa() :
null;
}
@
Override
public boolean equals
(Object obj
) {
if (this == obj
)
return true;
if (obj ==
null)
return false;
if (!(obj
instanceof RevisaoEntity
))
return false;
RevisaoEntity other =
(RevisaoEntity
) obj
;
if (dataHoraHistorico ==
null) {
if (other.
dataHoraHistorico !=
null)
return false;
} else if (!dataHoraHistorico.
equals(other.
dataHoraHistorico))
return false;
if (sequencial ==
null) {
if (other.
sequencial !=
null)
return false;
} else if (!sequencial.
equals(other.
sequencial))
return false;
if (usuario ==
null) {
if (other.
usuario !=
null)
return false;
} else if (!usuario.
equals(other.
usuario))
return false;
return true;
}
}