package com.jasamedika.medifirst2000.entities; import java.io.Serializable; import java.math.BigDecimal; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.Table; import javax.validation.constraints.NotNull; import org.hibernate.annotations.GenericGenerator; import com.jasamedika.medifirst2000.helper.Caption; /** * @author salmanoe * @since Jan 30, 2023 */ @Entity @Table(name = "sdm_slipgajikomponen_t") public class SlipGajiKomponen implements Serializable { private static final long serialVersionUID = -3932381437404780760L; @Id @GenericGenerator(name = "uuid", strategy = "uuid") @GeneratedValue(generator = "uuid") @Column(columnDefinition = "CHAR(32)", unique = true) @Caption(value = "ID") protected String id; @ManyToOne @JoinColumn(name = "komponengajifk") @Caption(value = "Komponen Slip Gaji") private KomponenGaji komponen; @Column(name = "nominal") @Caption(value = "Nominal") private BigDecimal nominal; @ManyToOne @NotNull(message = "Slip Gaji tidak boleh kosong") @JoinColumn(name = "slipgajifk", columnDefinition = "CHAR(32)", nullable = false) @Caption(value = "Slip Gaji") private SlipGaji slipGaji; public SlipGajiKomponen() { } public SlipGajiKomponen(String id, KomponenGaji komponen, BigDecimal nominal, SlipGaji slipGaji) { this.id = id; this.komponen = komponen; this.nominal = nominal; this.slipGaji = slipGaji; } public String getId() { return id; } public void setId(String id) { this.id = id; } public KomponenGaji getKomponen() { return komponen; } public void setKomponen(KomponenGaji komponen) { this.komponen = komponen; } public BigDecimal getNominal() { return nominal; } public void setNominal(BigDecimal nominal) { this.nominal = nominal; } public SlipGaji getSlipGaji() { return slipGaji; } public void setSlipGaji(SlipGaji slipGaji) { this.slipGaji = slipGaji; } public static long getSerialversionuid() { return serialVersionUID; } public static SlipGajiKomponenBuilder builder() { return new SlipGajiKomponenBuilder(); } public static class SlipGajiKomponenBuilder { private String id; private KomponenGaji komponen; private BigDecimal nominal; private SlipGaji slipGaji; public SlipGajiKomponenBuilder() { } public SlipGajiKomponenBuilder id(final String id) { this.id = id; return this; } public SlipGajiKomponenBuilder komponen(final KomponenGaji komponen) { this.komponen = komponen; return this; } public SlipGajiKomponenBuilder nominal(final BigDecimal nominal) { this.nominal = nominal; return this; } public SlipGajiKomponenBuilder slipGaji(final SlipGaji slipGaji) { this.slipGaji = slipGaji; return this; } public SlipGajiKomponen build() { return new SlipGajiKomponen(this.id, this.komponen, this.nominal, this.slipGaji); } } }