/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.pepe.jpa.entities;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
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.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
/**
*
* @author Junior Cabal
*/
@Entity
@Table(name = "seguimiento")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Seguimiento.findAll", query = "SELECT s FROM Seguimiento s"),
@NamedQuery(name = "Seguimiento.findByFichaSeguimiento", query = "SELECT s FROM Seguimiento s WHERE s.idFicha.idFicha = :idFicha"),
@NamedQuery(name = "Seguimiento.findByIdSeguimiento", query = "SELECT s FROM Seguimiento s WHERE s.idSeguimiento = :idSeguimiento")})
public class Seguimiento implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id_seguimiento")
private Integer idSeguimiento;
@Lob
@Size(max = 65535)
@Column(name = "observaciones")
private String observaciones;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idSeguimiento")
private List<Aspectos> aspectosList;
@JoinColumn(name = "id_fase", referencedColumnName = "id_fase")
@ManyToOne(optional = false)
private Fase idFase;
@JoinColumn(name = "id_ficha", referencedColumnName = "id_ficha")
@ManyToOne(optional = false)
private Ficha idFicha;
@JoinColumn(name = "id_usuario", referencedColumnName = "id_usuario")
@ManyToOne(optional = false)
private Usuario idUsuario;
@Column(name = "fecha_registro")
@Temporal(TemporalType.TIMESTAMP)
private Date fechaRegistro;
public Seguimiento() {
}
public Seguimiento(Integer idSeguimiento) {
this.idSeguimiento = idSeguimiento;
}
public Integer getIdSeguimiento() {
return idSeguimiento;
}
public void setIdSeguimiento(Integer idSeguimiento) {
this.idSeguimiento = idSeguimiento;
}
public String getObservaciones() {
return observaciones;
}
public void setObservaciones(String observaciones) {
this.observaciones = observaciones;
}
@XmlTransient
public List<Aspectos> getAspectosList() {
return aspectosList;
}
public void setAspectosList(List<Aspectos> aspectosList) {
this.aspectosList = aspectosList;
}
public Fase getIdFase() {
return idFase;
}
public void setIdFase(Fase idFase) {
this.idFase = idFase;
}
public Ficha getIdFicha() {
return idFicha;
}
public void setIdFicha(Ficha idFicha) {
this.idFicha = idFicha;
}
public Usuario getIdUsuario() {
return idUsuario;
}
public void setIdUsuario(Usuario idUsuario) {
this.idUsuario = idUsuario;
}
public Date getFechaRegistro() {
return fechaRegistro;
}
public void setFechaRegistro(Date fechaRegistro) {
this.fechaRegistro = fechaRegistro;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idSeguimiento != null ? idSeguimiento.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 Seguimiento)) {
return false;
}
Seguimiento other = (Seguimiento) object;
if ((this.idSeguimiento == null && other.idSeguimiento != null) || (this.idSeguimiento != null && !this.idSeguimiento.equals(other.idSeguimiento))) {
return false;
}
return true;
}
@Override
public String toString() {
return "com.pepe.jpa.entities.Seguimiento[ idSeguimiento=" + idSeguimiento + " ]";
}
}