/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ec.gob.mcds.seguridades.model;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
/**
*
* @author christian
*/
@Entity
@Table(name = "sch_seguridades.persona", uniqueConstraints = {
@UniqueConstraint(columnNames = {"cedula"})})
@NamedQueries({
@NamedQuery(name = "Persona.findAll", query = "SELECT p FROM Persona p")})
public class Persona implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "per_id", nullable = false)
private Long perId;
@Basic(optional = false)
@Column(name = "cedula", nullable = false, length = 13)
private String cedula;
@Basic(optional = false)
@Column(name = "nombres", nullable = false, length = 200)
private String nombres;
@Basic(optional = false)
@Column(name = "apellidos", nullable = false, length = 200)
private String apellidos;
@Basic(optional = false)
@Column(name = "direccion", nullable = false, length = 500)
private String direccion;
@Column(name = "telefono_convencional", length = 15)
private String telefonoConvencional;
@Basic(optional = false)
@Column(name = "email", nullable = false, length = 100)
private String email;
@Column(name = "telefono_celular", length = 15)
private String telefonoCelular;
@Basic(optional = false)
@Column(name = "estado", nullable = false)
private boolean estado;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "persona", fetch = FetchType.LAZY)
private List<Usuario> usuarioList;
@JoinColumn(name = "usu_id", referencedColumnName = "usu_id", nullable = false)
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Usuario usuario;
@JoinColumn(name = "ins_id", referencedColumnName = "ins_id", nullable = false)
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Institucion institucion;
public Persona() {
}
public Persona(Long perId) {
this.perId = perId;
}
public Persona(Long perId, String cedula, String nombres, String apellidos, String direccion, String email, boolean estado) {
this.perId = perId;
this.cedula = cedula;
this.nombres = nombres;
this.apellidos = apellidos;
this.direccion = direccion;
this.email = email;
this.estado = estado;
}
public Long getPerId() {
return perId;
}
public void setPerId(Long perId) {
this.perId = perId;
}
public String getCedula() {
return cedula;
}
public void setCedula(String cedula) {
this.cedula = cedula;
}
public String getNombres() {
return nombres;
}
public void setNombres(String nombres) {
this.nombres = nombres;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
this.apellidos = apellidos;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public String getTelefonoConvencional() {
return telefonoConvencional;
}
public void setTelefonoConvencional(String telefonoConvencional) {
this.telefonoConvencional = telefonoConvencional;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelefonoCelular() {
return telefonoCelular;
}
public void setTelefonoCelular(String telefonoCelular) {
this.telefonoCelular = telefonoCelular;
}
public boolean getEstado() {
return estado;
}
public void setEstado(boolean estado) {
this.estado = estado;
}
public List<Usuario> getUsuarioList() {
return usuarioList;
}
public void setUsuarioList(List<Usuario> usuarioList) {
this.usuarioList = usuarioList;
}
public Usuario getUsuario() {
return usuario;
}
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
public Institucion getInstitucion() {
return institucion;
}
public void setInstitucion(Institucion institucion) {
this.institucion = institucion;
}
@Override
public int hashCode() {
int hash = 0;
hash += (perId != null ? perId.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 Persona)) {
return false;
}
Persona other = (Persona) object;
if ((this.perId == null && other.perId != null) || (this.perId != null && !this.perId.equals(other.perId))) {
return false;
}
return true;
}
@Override
public String toString() {
return "ec.gob.mcds.model.Persona[perId=" + perId + "]";
}
}