/*
* 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.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.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
/**
*
* @author Junior Cabal
*/
@Entity
@Table(name = "programador")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Programador.findAll", query = "SELECT p FROM Programador p"),
@NamedQuery(name = "Programador.findByFichaProgramador", query = "SELECT p FROM Programador p WHERE p.idFicha = :idFicha"),
@NamedQuery(name = "Programador.findByIdProgramador", query = "SELECT p FROM Programador p WHERE p.idProgramador = :idProgramador"),
@NamedQuery(name = "Programador.findByFichaProgramador", query = "SELECT p FROM Programador p WHERE p.idFicha = :idFicha"),
@NamedQuery(name = "Programador.findByCantidadHora", query = "SELECT p FROM Programador p WHERE p.cantidadHora = :cantidadHora"),
@NamedQuery(name = "Programador.findByUsuarioP", query = "SELECT p FROM Programador p WHERE p.idUsuario = :idUsuario"),
@NamedQuery(name = "Programador.findByProyecto", query = "SELECT p FROM Programador p WHERE p.actividadHasResultadoAprendizaje.actividad.idProyecto.idProyecto = :idProyecto"),
@NamedQuery(name = "Programador.findByTrimestre", query = "SELECT p FROM Programador p WHERE p.trimestre = :trimestre")})
public class Programador implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id_programador")
private Integer idProgramador;
@Basic(optional = false)
@NotNull
@Column(name = "cantidad_hora")
private int cantidadHora;
@Basic(optional = false)
@NotNull
@Column(name = "trimestre")
private int trimestre;
@JoinColumns({
@JoinColumn(name = "id_actividad", referencedColumnName = "id_actividad"),
@JoinColumn(name = "id_resultado_aprendizaje", referencedColumnName = "id_resultado_aprendizaje")})
@ManyToOne(optional = false)
private ActividadHasResultadoAprendizaje actividadHasResultadoAprendizaje;
@JoinColumn(name = "id_usuario", referencedColumnName = "id_usuario")
@ManyToOne(optional = false)
private Usuario idUsuario;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "idProgramador")
private List<Evento> eventoList;
@JoinColumn(name = "id_ficha", referencedColumnName = "id_ficha")
@ManyToOne(optional = false)
private Ficha idFicha;
public Programador() {
}
public Ficha getIdFicha() {
return idFicha;
}
public void setIdFicha(Ficha idFicha) {
this.idFicha = idFicha;
}
public Programador(Integer idProgramador) {
this.idProgramador = idProgramador;
}
public Programador(Integer idProgramador, int cantidadHora, int trimestre) {
this.idProgramador = idProgramador;
this.cantidadHora = cantidadHora;
this.trimestre = trimestre;
}
public Integer getIdProgramador() {
return idProgramador;
}
public void setIdProgramador(Integer idProgramador) {
this.idProgramador = idProgramador;
}
public int getCantidadHora() {
return cantidadHora;
}
public void setCantidadHora(int cantidadHora) {
this.cantidadHora = cantidadHora;
}
public int getTrimestre() {
return trimestre;
}
public void setTrimestre(int trimestre) {
this.trimestre = trimestre;
}
public ActividadHasResultadoAprendizaje getActividadHasResultadoAprendizaje() {
return actividadHasResultadoAprendizaje;
}
public void setActividadHasResultadoAprendizaje(ActividadHasResultadoAprendizaje actividadHasResultadoAprendizaje) {
this.actividadHasResultadoAprendizaje = actividadHasResultadoAprendizaje;
}
public Usuario getIdUsuario() {
return idUsuario;
}
public void setIdUsuario(Usuario idUsuario) {
this.idUsuario = idUsuario;
}
@XmlTransient
public List<Evento> getEventoList() {
return eventoList;
}
public void setEventoList(List<Evento> eventoList) {
this.eventoList = eventoList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idProgramador != null ? idProgramador.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 Programador)) {
return false;
}
Programador other = (Programador) object;
if ((this.idProgramador == null && other.idProgramador != null) || (this.idProgramador != null && !this.idProgramador.equals(other.idProgramador))) {
return false;
}
return true;
}
@Override
public String toString() {
return "com.pepe.jpa.entities.Programador[ idProgramador=" + idProgramador + " ]";
}
}