2021-01-07 11:34:56 +07:00

184 lines
4.6 KiB
Java

package com.jasamedika.medifirst2000.entities;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
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;
@Entity
@Table(name = "ObjekModulAplikasi_S")
public class ObjekModulAplikasi extends BaseMaster {
/**
*
*/
private static final long serialVersionUID = -4478308018473778656L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="public.objekmodulaplikasi_m_id_seq")
@javax.persistence.SequenceGenerator(
name="public.objekmodulaplikasi_m_id_seq",
sequenceName="public.objekmodulaplikasi_m_id_seq",
allocationSize=1
)
@Column(name = "id")
protected Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
// @NotNull(message = "Kd Objek Modul Aplikasi tidak boleh kosong")
@Column(name = "KdObjekModulAplikasi", nullable = false, length = 6)
@Caption(value = "Kode Modul Aplikasi")
private String kdObjekModulAplikasi;
public String getKdObjekModulAplikasi() {
return kdObjekModulAplikasi;
}
public void setKdObjekModulAplikasi(String kdObjekModulAplikasi) {
this.kdObjekModulAplikasi = kdObjekModulAplikasi;
}
@Column(name = "ObjekModulAplikasi", nullable = true , length = 200)
@Caption(value="Objek Modul Aplikasi")
private String objekModulAplikasi;
public String getObjekModulAplikasi() {
return objekModulAplikasi;
}
public void setObjekModulAplikasi(String objekModulAplikasi) {
this.objekModulAplikasi = objekModulAplikasi;
}
@Column(name = "Fungsi", nullable = true , length = 500)
@Caption(value="Fungsi")
private String fungsi;
public String getFungsi() {
return fungsi;
}
public void setFungsi(String fungsi) {
this.fungsi = fungsi;
}
@Column(name = "AlamatUrlForm", nullable = true , length = 100)
@Caption(value="Alamat Url Form")
private String alamatUrlForm;
public String getAlamatUrlForm() {
return alamatUrlForm;
}
public void setAlamatUrlForm(String alamatUrlForm) {
this.alamatUrlForm = alamatUrlForm;
}
@Column(name = "Keterangan", nullable = true , length = 500)
@Caption(value="Keterangan")
private String keterangan;
public String getKeterangan() {
return keterangan;
}
public void setKeterangan(String keterangan) {
this.keterangan = keterangan;
}
@Column(name = "NoUrut")
private Integer noUrut;
public Integer getNoUrut() {
return noUrut;
}
public void setNoUrut(Integer noUrut) {
this.noUrut = noUrut;
}
/////////////////////
// Many To Many Relationship
////////////////////
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "MapObjekModulAplikasiToModulAplikasi_S",
joinColumns = @JoinColumn(name = "objekModulAplikasiId"),
inverseJoinColumns = @JoinColumn(name = "modulAplikasiId"))
@JsonIgnore
private List<ModulAplikasi> modulAplikasi = new ArrayList<>();
public List<ModulAplikasi> getModulAplikasi() {
return modulAplikasi;
}
public void setModulAplikasi(List<ModulAplikasi> modulAplikasi) {
this.modulAplikasi = modulAplikasi;
}
/////////////////////
// Link Back Keys
////////////////////
@Column(name = "KdObjekModulAplikasiHead", insertable=false, updatable=false, nullable=true)
private Integer kdObjekModulAplikasiHead;
public Integer getKdObjekModulAplikasiHead() {
return kdObjekModulAplikasiHead;
}
public void setKdObjekModulAplikasiHead(Integer kdObjekModulAplikasiHead) {
this.kdObjekModulAplikasiHead = kdObjekModulAplikasiHead;
}
@NotFound(action = NotFoundAction.IGNORE)
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true, targetEntity = ObjekModulAplikasi.class)
@JoinColumn(name="KdObjekModulAplikasiHead")
@OrderBy("noUrut")
private Set<ObjekModulAplikasi> children = new HashSet<>();
public Set<ObjekModulAplikasi> getChildren() {
return children;
}
public void setChildren(Set<ObjekModulAplikasi> children) {
this.children = children;
}
}