From bc6cb74de3f42725f8dd06383a5dca96767422c8 Mon Sep 17 00:00:00 2001 From: Salman Manoe Date: Fri, 21 Feb 2025 10:36:22 +0700 Subject: [PATCH] Add domain entity Create entity master golongan pppk, master jenjang jabatan pppk, dan mapping golongan - jenjang jabatan pppk --- .../medifirst2000/entities/GolonganPPPK.java | 37 +++++++++++++++++++ .../entities/JenjangGolonganId.java | 36 ++++++++++++++++++ .../entities/JenjangGolonganPPPK.java | 25 +++++++++++++ .../medifirst2000/entities/JenjangPPPK.java | 37 +++++++++++++++++++ 4 files changed, 135 insertions(+) create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/GolonganPPPK.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganId.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganPPPK.java create mode 100644 jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangPPPK.java diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/GolonganPPPK.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/GolonganPPPK.java new file mode 100644 index 00000000..6ea2e6b0 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/GolonganPPPK.java @@ -0,0 +1,37 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.util.UUID; + +import static javax.persistence.GenerationType.AUTO; + +/** + * @author Salman + * @version 1.0.0 + * @since 2/21/2025 + */ +@Getter +@Setter +@Entity +@Table(schema = "public", name = "sdm_pppk_golongan_m") +public class GolonganPPPK extends BaseActive { + + @Id + @GeneratedValue(strategy = AUTO) + @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") + @Column(columnDefinition = "uuid") + private UUID id; + + @Size(max = 10, message = "Nama golongan maksimal {max} karakter") + @NotBlank(message = "Kode golongan tidak boleh kosong") + @Column(length = 10, nullable = false) + private String namaGolongan; + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganId.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganId.java new file mode 100644 index 00000000..f3e56b52 --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganId.java @@ -0,0 +1,36 @@ +package com.jasamedika.medifirst2000.entities; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import javax.persistence.Embeddable; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import java.io.Serializable; + +import static javax.persistence.FetchType.LAZY; + +/** + * @author Salman + * @version 1.0.0 + * @since 2/21/2025 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Embeddable +public class JenjangGolonganId implements Serializable { + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "pppkjenjangfk") + @ToString.Exclude + private JenjangPPPK jenjangPPPK; + + @ManyToOne(fetch = LAZY) + @JoinColumn(name = "pppkgolonganfk") + @ToString.Exclude + private GolonganPPPK golonganPPPK; + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganPPPK.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganPPPK.java new file mode 100644 index 00000000..8a8b274e --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangGolonganPPPK.java @@ -0,0 +1,25 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseModel; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.EmbeddedId; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @author Salman + * @version 1.0.0 + * @since 2/21/2025 + */ +@Getter +@Setter +@Entity +@Table(schema = "public", name = "sdm_pppk_jenjang_golongan_m") +public class JenjangGolonganPPPK extends BaseModel { + + @EmbeddedId + private JenjangGolonganId id; + +} diff --git a/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangPPPK.java b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangPPPK.java new file mode 100644 index 00000000..3b401bcd --- /dev/null +++ b/jasamedika-domain/src/main/java/com/jasamedika/medifirst2000/entities/JenjangPPPK.java @@ -0,0 +1,37 @@ +package com.jasamedika.medifirst2000.entities; + +import com.jasamedika.medifirst2000.base.BaseActive; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.GenericGenerator; +import org.hibernate.validator.constraints.NotBlank; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.util.UUID; + +import static javax.persistence.GenerationType.AUTO; + +/** + * @author Salman + * @version 1.0.0 + * @since 2/21/2025 + */ +@Getter +@Setter +@Entity +@Table(schema = "public", name = "sdm_pppk_jenjang_m") +public class JenjangPPPK extends BaseActive { + + @Id + @GeneratedValue(strategy = AUTO) + @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") + @Column(columnDefinition = "uuid") + private UUID id; + + @Size(max = 100, message = "Jenjang jabatan maksimal {max} karakter") + @NotBlank(message = "Jenjang jabatan tidak boleh kosong") + @Column(length = 100, nullable = false) + private String jenjangJabatan; + +}