/* * 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 + " ]"; } }