package com.dla.dda.persistence.model;
// Generated Aug 12, 2016 1:06:47 PM by Hibernate Tools 5.0.0.Final


import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * DlaCUsuario generated by hbm2java
 */
@Entity
@Table(name="DLA_C_USUARIO"
)
public class DlaCUsuario  implements java.io.Serializable {


     private String expediente;
     private DlaCEmpresa dlaCEmpresa;
     private DdaCArea ddaCArea;
     private String password;
     private String paterno;
     private String materno;
     private String nombre;
     private boolean estatus;
     private String email;
     private String estatusPwd;
     private String clavePwd;
     private Set<DdaTCargabvPrincipal> ddaTCargabvPrincipals = new HashSet<DdaTCargabvPrincipal>(0);
     private Set<DdaTContratoJustifica> ddaTContratoJustificas = new HashSet<DdaTContratoJustifica>(0);
     private Set<DdaTContratoWf> ddaTContratoWfs = new HashSet<DdaTContratoWf>(0);
     private Set<DlaCPerfil> dlaCPerfils = new HashSet<DlaCPerfil>(0);
     private Set<DdaTContratoEstatus> ddaTContratoEstatuses = new HashSet<DdaTContratoEstatus>(0);
     private Set<DdaTApartadoTransfer> ddaTApartadoTransfers = new HashSet<DdaTApartadoTransfer>(0);
     private Set<DdaTContratoDocto> ddaTContratoDoctos = new HashSet<DdaTContratoDocto>(0);

    public DlaCUsuario() {
    }

	
    public DlaCUsuario(String expediente, String password, String nombre, boolean estatus) {
        this.expediente = expediente;
        this.password = password;
        this.nombre = nombre;
        this.estatus = estatus;
    }
    public DlaCUsuario(String expediente, DlaCEmpresa dlaCEmpresa, DdaCArea ddaCArea, String password, String paterno, String materno, String nombre, boolean estatus, String email, String estatusPwd, String clavePwd, Set<DdaTCargabvPrincipal> ddaTCargabvPrincipals, Set<DdaTContratoJustifica> ddaTContratoJustificas, Set<DdaTContratoWf> ddaTContratoWfs, Set<DlaCPerfil> dlaCPerfils, Set<DdaTContratoEstatus> ddaTContratoEstatuses, Set<DdaTApartadoTransfer> ddaTApartadoTransfers, Set<DdaTContratoDocto> ddaTContratoDoctos) {
       this.expediente = expediente;
       this.dlaCEmpresa = dlaCEmpresa;
       this.ddaCArea = ddaCArea;
       this.password = password;
       this.paterno = paterno;
       this.materno = materno;
       this.nombre = nombre;
       this.estatus = estatus;
       this.email = email;
       this.estatusPwd = estatusPwd;
       this.clavePwd = clavePwd;
       this.ddaTCargabvPrincipals = ddaTCargabvPrincipals;
       this.ddaTContratoJustificas = ddaTContratoJustificas;
       this.ddaTContratoWfs = ddaTContratoWfs;
       this.dlaCPerfils = dlaCPerfils;
       this.ddaTContratoEstatuses = ddaTContratoEstatuses;
       this.ddaTApartadoTransfers = ddaTApartadoTransfers;
       this.ddaTContratoDoctos = ddaTContratoDoctos;
    }
   
     @Id 

    
    @Column(name="EXPEDIENTE", unique=true, nullable=false, length=50)
    public String getExpediente() {
        return this.expediente;
    }
    
    public void setExpediente(String expediente) {
        this.expediente = expediente;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_EMPRESA")
    public DlaCEmpresa getDlaCEmpresa() {
        return this.dlaCEmpresa;
    }
    
    public void setDlaCEmpresa(DlaCEmpresa dlaCEmpresa) {
        this.dlaCEmpresa = dlaCEmpresa;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_AREA")
    public DdaCArea getDdaCArea() {
        return this.ddaCArea;
    }
    
    public void setDdaCArea(DdaCArea ddaCArea) {
        this.ddaCArea = ddaCArea;
    }

    
    @Column(name="PASSWORD", nullable=false)
    public String getPassword() {
        return this.password;
    }
    
    public void setPassword(String password) {
        this.password = password;
    }

    
    @Column(name="PATERNO", length=50)
    public String getPaterno() {
        return this.paterno;
    }
    
    public void setPaterno(String paterno) {
        this.paterno = paterno;
    }

    
    @Column(name="MATERNO", length=50)
    public String getMaterno() {
        return this.materno;
    }
    
    public void setMaterno(String materno) {
        this.materno = materno;
    }

    
    @Column(name="NOMBRE", nullable=false, length=50)
    public String getNombre() {
        return this.nombre;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    
    @Column(name="ESTATUS", nullable=false, precision=1, scale=0)
    public boolean isEstatus() {
        return this.estatus;
    }
    
    public void setEstatus(boolean estatus) {
        this.estatus = estatus;
    }

    
    @Column(name="EMAIL", length=50)
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }

    
    @Column(name="ESTATUS_PWD", length=20)
    public String getEstatusPwd() {
        return this.estatusPwd;
    }
    
    public void setEstatusPwd(String estatusPwd) {
        this.estatusPwd = estatusPwd;
    }

    
    @Column(name="CLAVE_PWD", length=25)
    public String getClavePwd() {
        return this.clavePwd;
    }
    
    public void setClavePwd(String clavePwd) {
        this.clavePwd = clavePwd;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="dlaCUsuario")
    public Set<DdaTCargabvPrincipal> getDdaTCargabvPrincipals() {
        return this.ddaTCargabvPrincipals;
    }
    
    public void setDdaTCargabvPrincipals(Set<DdaTCargabvPrincipal> ddaTCargabvPrincipals) {
        this.ddaTCargabvPrincipals = ddaTCargabvPrincipals;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="dlaCUsuario")
    public Set<DdaTContratoJustifica> getDdaTContratoJustificas() {
        return this.ddaTContratoJustificas;
    }
    
    public void setDdaTContratoJustificas(Set<DdaTContratoJustifica> ddaTContratoJustificas) {
        this.ddaTContratoJustificas = ddaTContratoJustificas;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="dlaCUsuario")
    public Set<DdaTContratoWf> getDdaTContratoWfs() {
        return this.ddaTContratoWfs;
    }
    
    public void setDdaTContratoWfs(Set<DdaTContratoWf> ddaTContratoWfs) {
        this.ddaTContratoWfs = ddaTContratoWfs;
    }

@ManyToMany(fetch=FetchType.LAZY)
    @JoinTable(name="DLA_C_USUARIO_PERFIL", schema="DBDLA", joinColumns = { 
        @JoinColumn(name="EXPEDIENTE", nullable=false, updatable=false) }, inverseJoinColumns = { 
        @JoinColumn(name="ID_PERFIL", nullable=false, updatable=false) })
    public Set<DlaCPerfil> getDlaCPerfils() {
        return this.dlaCPerfils;
    }
    
    public void setDlaCPerfils(Set<DlaCPerfil> dlaCPerfils) {
        this.dlaCPerfils = dlaCPerfils;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="dlaCUsuario")
    public Set<DdaTContratoEstatus> getDdaTContratoEstatuses() {
        return this.ddaTContratoEstatuses;
    }
    
    public void setDdaTContratoEstatuses(Set<DdaTContratoEstatus> ddaTContratoEstatuses) {
        this.ddaTContratoEstatuses = ddaTContratoEstatuses;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="dlaCUsuario")
    public Set<DdaTApartadoTransfer> getDdaTApartadoTransfers() {
        return this.ddaTApartadoTransfers;
    }
    
    public void setDdaTApartadoTransfers(Set<DdaTApartadoTransfer> ddaTApartadoTransfers) {
        this.ddaTApartadoTransfers = ddaTApartadoTransfers;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="dlaCUsuario")
    public Set<DdaTContratoDocto> getDdaTContratoDoctos() {
        return this.ddaTContratoDoctos;
    }
    
    public void setDdaTContratoDoctos(Set<DdaTContratoDocto> ddaTContratoDoctos) {
        this.ddaTContratoDoctos = ddaTContratoDoctos;
    }




}


