/*
* 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.Column;
import javax.persistence.Entity;
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.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
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 = "area")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Area.findAll", query = "SELECT a FROM Area a"),
@NamedQuery(name = "Area.findByIdArea", query = "SELECT a FROM Area a WHERE a.idArea = :idArea"),
@NamedQuery(name = "Area.findByNombreArea", query = "SELECT a FROM Area a WHERE a.nombreArea = :nombreArea")})
public class Area implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id_area")
private Integer idArea;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 60)
@Column(name = "nombre_area")
private String nombreArea;
@JoinTable(name = "usuario_has_area", joinColumns = {
@JoinColumn(name = "id_area", referencedColumnName = "id_area")}, inverseJoinColumns = {
@JoinColumn(name = "id_usuario", referencedColumnName = "id_usuario")})
@ManyToMany
private List<Usuario> usuarioList;
public Area() {
}
public Area(Integer idArea) {
this.idArea = idArea;
}
public Area(Integer idArea, String nombreArea) {
this.idArea = idArea;
this.nombreArea = nombreArea;
}
public Integer getIdArea() {
return idArea;
}
public void setIdArea(Integer idArea) {
this.idArea = idArea;
}
public String getNombreArea() {
return nombreArea;
}
public void setNombreArea(String nombreArea) {
this.nombreArea = nombreArea;
}
@XmlTransient
public List<Usuario> getUsuarioList() {
return usuarioList;
}
public void setUsuarioList(List<Usuario> usuarioList) {
this.usuarioList = usuarioList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (idArea != null ? idArea.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 Area)) {
return false;
}
Area other = (Area) object;
if ((this.idArea == null && other.idArea != null) || (this.idArea != null && !this.idArea.equals(other.idArea))) {
return false;
}
return true;
}
@Override
public String toString() {
return "com.pepe.jpa.entities.Area[ idArea=" + idArea + " ]";
}
}