package ec.edu.espe.movilidad.MovilidadWS.Model;

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

import javax.persistence.*;
import java.util.LinkedHashSet;
import java.util.Set;

@Getter
@Setter
@Entity
@Table(name = "UZYTAVSUBLINEA", schema = "UTIC1")
public class ModelUzyTavSubLinea {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "uzytavsublinea_seq")
    @SequenceGenerator(name = "uzytavsublinea_seq", sequenceName = "SEQ_UZYTAVSUBLINEA", allocationSize = 1)
    @Column(name = "uzytavsublinea_ID")
    private Long uzytavsublinea_ID;

    @Column(name = "uzytavsublinea_DESCRIPCION")
    private String uzytavsublinea_DESCRIPCION;

    @Column(name = "uzytavlinea_UNESCO")
    private Integer uzytavlinea_UNESCO;

    //RELACIÓN CON LÍNEA- TABLA PADRE
    @ManyToOne( fetch = FetchType.LAZY)
    @JoinColumn(name = "uzytavlinea_ID")
    private ModelUzyTavLinea UZYTAVLINEA;

    //RELACION CON PROLIN-TABLA HIJA

    @JsonIgnore
    @OneToMany(mappedBy = "UZYTAVSUBLINEA")
    private Set<ModelUzyTavProlin> modelUzyTavProlinSet  = new LinkedHashSet<>();

}