package com.jasamedika.medifirst2000.entities; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.validation.constraints.NotNull; import org.hibernate.annotations.NotFound; import org.hibernate.annotations.NotFoundAction; import com.fasterxml.jackson.annotation.JsonIgnore; import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.helper.Caption; /** * * @author Syamsu */ public class ModulAplikasiS extends BaseMaster { private static final long serialVersionUID = 8990329094182697203L; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.modulaplikasi_m_id_seq") @javax.persistence.SequenceGenerator(name = "public.modulaplikasi_m_id_seq", sequenceName = "public.modulaplikasi_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; @NotNull(message = "Kd Modul Aplikasi tidak boleh kosong") @Column(name = "KdModulAplikasi", nullable = false, length = 2) @Caption(value = "Kode Modul Aplikasi") private String kdModulAplikasi; public String getKdModulAplikasi() { return kdModulAplikasi; } public void setKdModulAplikasi(String kdModulAplikasi) { this.kdModulAplikasi = kdModulAplikasi; } @Column(name = "KdModulAplikasiHead") @Caption(value = "Kode Modul Aplikasi Head") private String kdModulAplikasiHead; public String getKdModulAplikasiHead() { return kdModulAplikasiHead; } public void setKdModulAplikasiHead(String kdModulAplikasiHead) { this.kdModulAplikasiHead = kdModulAplikasiHead; } @NotNull(message = "Modul Aplikasi tidak boleh kosong") @Column(name = "ModulAplikasi", nullable = false, length = 50) @Caption(value = "Modul Aplikasi") private String modulAplikasi; public String getModulAplikasi() { return modulAplikasi; } public void setModulAplikasi(String modulAplikasi) { this.modulAplikasi = modulAplikasi; } @Column(name = "ModulIconImage") private String modulIconImage; public String getModulIconImage() { return modulIconImage; } public void setModulIconImage(String modulIconImage) { this.modulIconImage = modulIconImage; } @Column(name = "ModulNoUrut") private int modulNoUrut; public int getModulNoUrut() { return modulNoUrut; } public void setModulNoUrut(int modulNoUrut) { this.modulNoUrut = modulNoUrut; } ///////////////////// /// Foreign Keys ////////////////// @OneToMany(fetch = FetchType.LAZY) @JoinColumn(name="kdModulAplikasi", referencedColumnName="kdModulAplikasi", insertable = false, updatable = false) @JsonIgnore private Set objekModulAplikasiS; public Set getObjekModulAplikasiS() { return objekModulAplikasiS; } public void setObjekModulAplikasiS(Set objekModulAplikasiS) { this.objekModulAplikasiS = objekModulAplikasiS; } ///////////////////// // Link Back Keys //////////////////// @NotFound(action = NotFoundAction.IGNORE) @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true, targetEntity = ModulAplikasiS.class) @JoinColumn(name="kdModulAplikasiHead", referencedColumnName="kdModulAplikasi") private Set children = new HashSet<>(); public Set getChildren() { return children; } public void setChildren(Set children) { this.children = children; } }