/* * 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.JoinColumns; import javax.persistence.JoinTable; import javax.persistence.Lob; 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.persistence.Temporal; import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlTransient; /** * * @author Junior Cabal */ @Entity @Table(name = "revision") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Revision.findAll", query = "SELECT r FROM Revision r"), @NamedQuery(name = "Revision.findByIdRevision", query = "SELECT r FROM Revision r WHERE r.idRevision = :idRevision"), @NamedQuery(name = "Revision.findByFechaRevision", query = "SELECT r FROM Revision r WHERE r.fechaRevision = :fechaRevision"), @NamedQuery(name = "Revision.findByAmbienteApto", query = "SELECT r FROM Revision r WHERE r.ambienteApto = :ambienteApto")}) public class Revision implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id_revision") private Integer idRevision; @Lob @Size(max = 65535) @Column(name = "concepto") private String concepto; @Basic(optional = false) @NotNull @Column(name = "fecha_revision") @Temporal(TemporalType.DATE) private Date fechaRevision; @Column(name = "ambiente_apto") private Boolean ambienteApto; @JoinTable(name = "revision_has_usuario", joinColumns = { @JoinColumn(name = "id_revision", referencedColumnName = "id_revision")}, inverseJoinColumns = { @JoinColumn(name = "id_usuario", referencedColumnName = "id_usuario")}) @ManyToMany private List<Usuario> usuarioList; @JoinColumn(name = "id_proyecto", referencedColumnName = "id_proyecto") @ManyToOne(optional = false) private Proyecto idProyecto; @JoinColumn(name = "id_ambiente_formacion", referencedColumnName = "id_ambiente_formacion") @ManyToOne private AmbienteFormacion idAmbienteFormacion; @JoinColumns({ @JoinColumn(name = "id_ciudad", referencedColumnName = "id_ciudad"), @JoinColumn(name = "id_departamento", referencedColumnName = "id_departamento")}) @ManyToOne private Ciudad ciudad; @JoinColumn(name = "id_tipo_revision", referencedColumnName = "id_tipo_revision") @ManyToOne(optional = false) private TipoRevision idTipoRevision; @OneToMany(cascade = CascadeType.ALL, mappedBy = "idRevision") private List<Valoracion> valoracionList; public Revision() { } public Revision(Integer idRevision) { this.idRevision = idRevision; } public Revision(Integer idRevision, Date fechaRevision) { this.idRevision = idRevision; this.fechaRevision = fechaRevision; } public Integer getIdRevision() { return idRevision; } public void setIdRevision(Integer idRevision) { this.idRevision = idRevision; } public String getConcepto() { return concepto; } public void setConcepto(String concepto) { this.concepto = concepto; } public Date getFechaRevision() { return fechaRevision; } public void setFechaRevision(Date fechaRevision) { this.fechaRevision = fechaRevision; } public Boolean getAmbienteApto() { return ambienteApto; } public void setAmbienteApto(Boolean ambienteApto) { this.ambienteApto = ambienteApto; } @XmlTransient public List<Usuario> getUsuarioList() { return usuarioList; } public void setUsuarioList(List<Usuario> usuarioList) { this.usuarioList = usuarioList; } public Proyecto getIdProyecto() { return idProyecto; } public void setIdProyecto(Proyecto idProyecto) { this.idProyecto = idProyecto; } public AmbienteFormacion getIdAmbienteFormacion() { return idAmbienteFormacion; } public void setIdAmbienteFormacion(AmbienteFormacion idAmbienteFormacion) { this.idAmbienteFormacion = idAmbienteFormacion; } public Ciudad getCiudad() { return ciudad; } public void setCiudad(Ciudad ciudad) { this.ciudad = ciudad; } public TipoRevision getIdTipoRevision() { return idTipoRevision; } public void setIdTipoRevision(TipoRevision idTipoRevision) { this.idTipoRevision = idTipoRevision; } @XmlTransient public List<Valoracion> getValoracionList() { return valoracionList; } public void setValoracionList(List<Valoracion> valoracionList) { this.valoracionList = valoracionList; } @Override public int hashCode() { int hash = 0; hash += (idRevision != null ? idRevision.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 Revision)) { return false; } Revision other = (Revision) object; if ((this.idRevision == null && other.idRevision != null) || (this.idRevision != null && !this.idRevision.equals(other.idRevision))) { return false; } return true; } @Override public String toString() { return "com.pepe.jpa.entities.Revision[ idRevision=" + idRevision + " ]"; } }