Add domain entity

Create entity master golongan pppk, master jenjang jabatan pppk, dan mapping golongan - jenjang jabatan pppk
This commit is contained in:
Salman Manoe 2025-02-21 10:36:22 +07:00
parent 42fa923b1a
commit bc6cb74de3
4 changed files with 135 additions and 0 deletions

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}