package com.jasamedika.medifirst2000.entities; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.jasamedika.medifirst2000.base.BaseMaster; import com.jasamedika.medifirst2000.helper.Caption; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import javax.validation.constraints.NotNull; import java.util.Date; import java.util.Set; import static javax.persistence.CascadeType.ALL; import static javax.persistence.FetchType.LAZY; import static javax.persistence.GenerationType.SEQUENCE; @Getter @Setter @Entity @Table(name = "DraftPeraturan_M") public class DraftPeraturan extends BaseMaster { @ManyToOne @JoinColumn(name = "ObjectUserFk") @NotNull(message = "User tidak boleh kosong") @Caption(value = "User") private Pegawai user; @Column(name = "ObjectUserFk", insertable = false, updatable = false, nullable = false) private Integer userId; @Column(name = "noPeraturan") @Caption(value = "No Peraturan") private String noPeraturan; @Column(name = "namaPeraturan") @Caption(value = "Nama Peraturan") private String namaPeraturan; @Column(name = "tglPeraturan") @Caption(value = "Tanggal Peraturan") private Date tglPeraturan; @Column(name = "draftPeraturan") @Caption(value = "Draft Peraturan") private String draftPeraturan; @Column(name = "tglPengesahan") @Caption(value = "Tanggal Pengesahan") private Date tglPengesahan; @ManyToOne @JoinColumn(name = "ObjectPenanggungJawabFk") @NotNull(message = "Penanggung Jawab tidak boleh kosong") @Caption(value = "Penanggung Jawab") private Pegawai penanggungJawab; @Column(name = "ObjectPenanggungJawabFk", insertable = false, updatable = false, nullable = false) private Integer penanggungJawabId; @JsonManagedReference @OneToMany(cascade = ALL, fetch = LAZY, mappedBy = "draftPeraturan") @Caption(value = "detailDraftSet") private Set detailDraftSet; @Id @GeneratedValue(strategy = SEQUENCE, generator = "public.draftperaturan_m_id_seq") @SequenceGenerator(name = "public.draftperaturan_m_id_seq", sequenceName = "public.draftperaturan_m_id_seq", allocationSize = 1) @Column(name = "id") protected Integer id; }