/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package model; import java.io.Serializable; import java.sql.Array; 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.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.ManyToOne; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * * @author Ceci */ @Entity @Table(name = "ejercicio") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Ejercicio.findAll", query = "SELECT e FROM Ejercicio e"), @NamedQuery(name = "Ejercicio.findByIdEjercicio", query = "SELECT e FROM Ejercicio e WHERE e.idEjercicio = :idEjercicio"), @NamedQuery(name = "Ejercicio.findByEnunciado", query = "SELECT e FROM Ejercicio e WHERE e.enunciado = :enunciado"), @NamedQuery(name = "Ejercicio.findByNivelDificultad", query = "SELECT e FROM Ejercicio e WHERE e.nivelDificultad = :nivelDificultad")}) public class Ejercicio implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id_ejercicio") private Integer idEjercicio; @Basic(optional = false) @NotNull @Size(min = 1, max = 2147483647) @Column(name = "enunciado") private String enunciado; @Column(name = "nivel_dificultad") private Integer nivelDificultad; @JoinTable(name = "ejercicio_concepto", joinColumns = { @JoinColumn(name = "id_ejercicio", referencedColumnName = "id_ejercicio")}, inverseJoinColumns = { @JoinColumn(name = "id_concepto", referencedColumnName = "id_concepto")}) @ManyToMany() private List conceptoList; @JoinTable(name = "respuesta_ejercicio", joinColumns = { @JoinColumn(name = "id_ejercicio", referencedColumnName = "id_ejercicio")}, inverseJoinColumns = { @JoinColumn(name = "id_respuesta", referencedColumnName = "id_respuesta")}) @ManyToMany(cascade = CascadeType.ALL) @XmlElementWrapper private List respuestaList; @JoinColumn(name = "respuesta", referencedColumnName = "id_respuesta") @ManyToOne(cascade = CascadeType.ALL) private Respuesta respuesta; @JoinColumn(name = "profesor", referencedColumnName = "id_profesor") @ManyToOne private Profesor profesor; @OneToMany(mappedBy = "ejercicio") private List ejercicioResueltoAlumnoList; @ManyToMany(mappedBy = "ejercicioList") private List sesionList; private byte [] imagen; public void setImagen(byte[] imagen) { this.imagen = imagen; } public byte[] getImagen() { return imagen; } @Column(name = "adivinanza") private Double adivinanza; public Double getAdivinanza() { return adivinanza; } public void setAdivinanza(Double adivinanza) { this.adivinanza = adivinanza; } public Ejercicio() { } public Ejercicio(Integer idEjercicio) { this.idEjercicio = idEjercicio; } public Ejercicio(Integer idEjercicio, String enunciado) { this.idEjercicio = idEjercicio; this.enunciado = enunciado; } public Integer getIdEjercicio() { return idEjercicio; } public void setIdEjercicio(Integer idEjercicio) { this.idEjercicio = idEjercicio; } public String getEnunciado() { return enunciado; } public void setEnunciado(String enunciado) { this.enunciado = enunciado; } public Integer getNivelDificultad() { return nivelDificultad; } public void setNivelDificultad(Integer nivelDificultad) { this.nivelDificultad = nivelDificultad; } @XmlTransient public List getConceptoList() { return conceptoList; } public void setConceptoList(List conceptoList) { this.conceptoList = conceptoList; } @XmlTransient public List getRespuestaList() { return respuestaList; } public void setRespuestaList(List respuestaList) { this.respuestaList = respuestaList; } public Respuesta getRespuesta() { return respuesta; } public void setRespuesta(Respuesta respuesta) { this.respuesta = respuesta; } public Profesor getProfesor() { return profesor; } public void setProfesor(Profesor profesor) { this.profesor = profesor; } @XmlTransient public List getEjercicioResueltoAlumnoList() { return ejercicioResueltoAlumnoList; } public void setEjercicioResueltoAlumnoList(List ejercicioResueltoAlumnoList) { this.ejercicioResueltoAlumnoList = ejercicioResueltoAlumnoList; } @Override public int hashCode() { int hash = 0; hash += (idEjercicio != null ? idEjercicio.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 Ejercicio)) { return false; } Ejercicio other = (Ejercicio) object; if ((this.idEjercicio == null && other.idEjercicio != null) || (this.idEjercicio != null && !this.idEjercicio.equals(other.idEjercicio))) { return false; } return true; } @Override public String toString() { return "model.Ejercicio[ idEjercicio=" + idEjercicio + " ]"; } }