package com.jasamedika.medifirst2000.entities; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotNull; import java.util.HashSet; import java.util.Set; @Getter @Setter @Entity @Table(name = "KegiatanAnggaran_T") @JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" }) public class KegiatanAnggaran extends BaseTransaction { @ManyToOne @JoinColumn(name = "ObjectHeadAnggaranFk") @Caption(value = "Head Anggaran") private HeadAnggaran headAnggaran; @Column(name = "ObjectHeadAnggaranFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false) private String headAnggaranId; @ManyToOne @JoinColumn(name = "ObjectOutputFk") @Caption(value = "Object Output") @NotNull(message = "Output Diisi") private Output output; @Column(name = "ObjectOutputFk", insertable = false, updatable = false, nullable = false) private Integer outputId; @ManyToOne @JoinColumn(name = "ObjectKegiatanDetailFk") @Caption(value = "Kegiatan Detail") private KegiatanDetail kegiatanDetail; @Column(name = "ObjectKegiatanDetailFk", insertable = false, updatable = false) private Integer kegiatanDetailId; @JsonBackReference @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "kegiatanAnggaran") private Set detailAnggaran = new HashSet<>(); @ManyToOne @JoinColumn(name = "ObjectKegiatan") @Caption(value = "Kegiatan") private Kegiatan kegiatan; @Column(name = "ObjectKegiatan", insertable = false, updatable = false) private Integer kegiatanId; }