package com.jasamedika.medifirst2000.entities; import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.jasamedika.medifirst2000.base.BaseTransaction; import com.jasamedika.medifirst2000.helper.Caption; @Entity @Table(name="DetailAnggaran_T") @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"}) public class DetailAnggaran extends BaseTransaction{ @ManyToOne @JoinColumn(name = "ObjectKegiatanAnggaranFk") @Caption(value="Kegiatan Anggaran") @NotNull(message = "Kegiatan Anggaran Harus Diisi") private KegiatanAnggaran kegiatanAnggaran; @Column(name="ObjectKegiatanAnggaranFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false, nullable = false) private String kegiatanAnggaranId; @Column(name = "TanggalPengajuan", nullable = true) @Caption(value = "Tanggal Pengajuan") private Date tanggalPengajuan; @ManyToOne @JoinColumn(name = "ObjectMataAnggaranFk") @Caption(value = "Object Akun") private MataAnggaran akun; @Column(name = "ObjectMataAnggaranFk", insertable = false, updatable = false, nullable = true) private Integer akunId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ObjectAsalProdukFk") @Caption(value = "Object Asal Produk") private AsalProduk asalProduk; @Column(name = "ObjectAsalProdukFk", insertable = false, updatable = false, nullable = true) private Integer asalProdukId; @ManyToOne @JoinColumn(name = "ObjectKomponenFk") @Caption(value = "Object Komponen") private Komponen komponen; @Column(name = "ObjectKomponenFk", insertable = false, updatable = false, nullable = true) private Integer komponenId; @JsonBackReference @OneToMany(cascade=CascadeType.ALL,fetch = FetchType.LAZY, mappedBy = "detailAnggaran") private Set detailSpekAnggaran = new HashSet(); public KegiatanAnggaran getKegiatanAnggaran() { return kegiatanAnggaran; } public void setKegiatanAnggaran(KegiatanAnggaran kegiatanAnggaran) { this.kegiatanAnggaran = kegiatanAnggaran; } public String getKegiatanAnggaranId() { return kegiatanAnggaranId; } public void setKegiatanAnggaranId(String kegiatanAnggaranId) { this.kegiatanAnggaranId = kegiatanAnggaranId; } public Date getTanggalPengajuan() { return tanggalPengajuan; } public void setTanggalPengajuan(Date tanggalPengajuan) { this.tanggalPengajuan = tanggalPengajuan; } public Integer getAkunId() { return akunId; } public void setAkunId(Integer akunId) { this.akunId = akunId; } public AsalProduk getAsalProduk() { return asalProduk; } public void setAsalProduk(AsalProduk asalProduk) { this.asalProduk = asalProduk; } public Integer getAsalProdukId() { return asalProdukId; } public void setAsalProdukId(Integer asalProdukId) { this.asalProdukId = asalProdukId; } public Komponen getKomponen() { return komponen; } public void setKomponen(Komponen komponen) { this.komponen = komponen; } public Integer getKomponenId() { return komponenId; } public void setKomponenId(Integer komponenId) { this.komponenId = komponenId; } public Set getDetailSpekAnggaran() { return detailSpekAnggaran; } public void setDetailSpekAnggaran(Set detailSpekAnggaran) { this.detailSpekAnggaran = detailSpekAnggaran; } public MataAnggaran getAkun() { return akun; } public void setAkun(MataAnggaran akun) { this.akun = akun; } }