package mx.com.anzen.anzenops.domain;
// Generated Mar 6, 2017 4:31:37 PM by Hibernate Tools 3.2.4.GA

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

/**
 * CatPuesto generated by hbm2java
 */
@Entity
@Table(name = "cat_puesto", catalog = "anzenops")
public class CatPuesto implements java.io.Serializable {

	private Integer idPuesto;
	private String nombre;
	private String descripcion;
	private Set<Empleado> empleados = new HashSet<Empleado>(0);

	public CatPuesto() {
	}

	public CatPuesto(String nombre) {
		this.nombre = nombre;
	}
	public CatPuesto(String nombre, String descripcion, Set<Empleado> empleados) {
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.empleados = empleados;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_puesto", unique = true, nullable = false)
	public Integer getIdPuesto() {
		return this.idPuesto;
	}

	public void setIdPuesto(Integer idPuesto) {
		this.idPuesto = idPuesto;
	}

	@Column(name = "nombre", nullable = false, length = 50)
	@NotNull
	@Length(max = 50)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "descripcion", length = 120)
	@Length(max = 120)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "catPuesto")
	public Set<Empleado> getEmpleados() {
		return this.empleados;
	}

	public void setEmpleados(Set<Empleado> empleados) {
		this.empleados = empleados;
	}

}
