ModelUzytavObjetivoPrograma.java 3.03 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
package ec.edu.espe.movilidad.MovilidadWS.Model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.*;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Set;
@Getter
@Setter
@Entity
@Table(name = "uzytavobjetivo_programa")
public class ModelUzytavObjetivoPrograma {
    @Id
    @Column(name = "uzytavobjetivo_programa_id")
    private Long uzytavobjetivo_programa_id;

    @Size(max = 1000)
    @Column(name = "uzytavobjetivo_programaindicador", length = 1000)
    private String uzytavobjetivo_programaindicador;

    @Size(max = 1000)
    @Column(name = "uzytavobjetivo_programamverifica", length = 1000)
    private String uzytavobjetivo_programamverifica;

    @Size(max = 1000)
    @Column(name = "uzytavobjetivo_programasupuestos", length = 1000)
    private String uzytavobjetivo_programasupuestos;

    //RELACIÓN CON PROGRAMA TABLA PADRE
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "uzytavprograma_v_id")
    private ModelUzyTavPrograma_V uzytavprograma_v;

    @Size(max = 1000)
    @Column(name = "uzytavobjetivo_programaobjetivo_proy", length = 1000)
    private String uzytavobjetivo_programaobjetivo_proy;

    @Column(name = "uzytavobjetivo_programatipo")
    private Long uzytavobjetivo_programatipo;

    //RELACIÓN CON PROYECTO-TABLA PADRE
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "uzytavproyec_id")
    private ModelUzyTavProyec uzytavproyec;


    //RELACIÓN CONSIGO MISMA

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "uzytavobjetivo_programa_id_padre", referencedColumnName = "uzytavobjetivo_programa_id")
    private ModelUzytavObjetivoPrograma uzytavobjetivo_programa;


    @JsonIgnore
    @OneToMany(mappedBy = "uzytavobjetivo_programa")
    private Set<ModelUzytavObjetivoPrograma> modelUzytavObjetivoProgramaSet = new LinkedHashSet<>();

    @Column(name = "uzytavobjetivo_programaorden")
    private Long uzytavobjetivo_programaorden;

    @Column(name = "uzytavobjetivo_programafec_ini")
    private Date uzytavobjetivo_programafec_ini;

    @Column(name = "uzytavobjetivo_programafec_fin")
    private Date uzytavobjetivo_programafec_fin;

    @Column(name = "uzytavobjetivo_programaindicador_tipo")
    private Long uzytavobjetivo_programaindicador_tipo;

    @Column(name = "uzytavobjetivo_programaindicador_valor")
    private Long uzytavobjetivo_programaindicador_valor;

    @Column(name = "uzytavobjetivo_programaindicador_valor_eje")
    private Long uzytavobjetivo_programaindicador_valor_eje;
81 82 83
    //RELACIÓN CON ModelUzyTavDetActproy TABLA HIJA
    @JsonIgnore
    @OneToMany(mappedBy = "uzytavobjetivoPrograma")
84
    private Set<ModelUzyTavDetActproy> modelUzyTavDetActproySet = new LinkedHashSet<>();
85 86 87 88

    //RELACIÓN CON ModelUzyTavSeguim TABLA HIJA
    @JsonIgnore
    @OneToMany(mappedBy = "uzytavobjetivoPrograma")
89
    private Set<ModelUzyTavSeguim> modelUzyTavSeguimSet = new LinkedHashSet<>();
90 91

}