package com.jasamedika.medifirst2000.entities;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.*;
import com.jasamedika.medifirst2000.entities.Pekerjaan;
import com.jasamedika.medifirst2000.entities.StatusKawin;
import com.jasamedika.medifirst2000.entities.Tanggungan;

import com.fasterxml.jackson.annotation.JsonBackReference;
import com.jasamedika.medifirst2000.base.BaseTransaction;

import javax.validation.constraints.NotNull;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 * class DataKeluarga
 * 
 * @author Generator
 */
@Entity
@Table(name = "sdm_DataKeluarga_T")
public class DataKeluarga extends BaseTransaction {
	@Column(name = "Nip", nullable = false, length = 100)
	@Caption(value = "Nip")
	private String nip;

	public String getNip() {
		return nip;
	}

	public void setNip(String nip) {
		this.nip = nip;
	}

	@Column(name = "NamaPegawai", nullable = false, length = 100)
	@Caption(value = "NamaPegawai")
	private String namaPegawai;

	public String getNamaPegawai() {
		return namaPegawai;
	}

	public void setNamaPegawai(String namaPegawai) {
		this.namaPegawai = namaPegawai;
	}

	@Column(name = "Nama", nullable = false, length = 100)
	@Caption(value = "Nama")
	private String nama;

	public String getNama() {
		return nama;
	}

	public void setNama(String nama) {
		this.nama = nama;
	}

	@Column(name = "HubunganKeluarga", nullable = false, length = 100)
	@Caption(value = "HubunganKeluarga")
	private String hubunganKeluarga;

	public String getHubunganKeluarga() {
		return hubunganKeluarga;
	}

	public void setHubunganKeluarga(String hubunganKeluarga) {
		this.hubunganKeluarga = hubunganKeluarga;
	}

	@Column(name = "TanggalLahir", nullable = false, length = 100)
	@Caption(value = "TanggalLahir")
	private Date tanggalLahir;

	public Date getTanggalLahir() {
		return tanggalLahir;
	}

	public void setTanggalLahir(Date tanggalLahir) {
		this.tanggalLahir = tanggalLahir;
	}

	@ManyToOne
	@JoinColumn(name = "PekerjaanFk")
	@NotNull(message = "Pekerjaan Harus Diisi")
	@Caption(value = "Pekerjaan")
	private Pekerjaan pekerjaan;

	public Pekerjaan getPekerjaan() {
		return pekerjaan;
	}

	public void setPekerjaan(Pekerjaan pekerjaan) {
		this.pekerjaan = pekerjaan;
	}

	@Column(name = "PekerjaanFk", insertable = false, updatable = false)
	private Integer pekerjaanId;

	@ManyToOne
	@JoinColumn(name = "StatusKawinFk")
	@NotNull(message = "Status Kawin Harus Diisi")
	@Caption(value = "Status Kawin")
	private StatusKawin statusKawin;

	public StatusKawin getStatusKawin() {
		return statusKawin;
	}

	public void setStatusKawin(StatusKawin statusKawin) {
		this.statusKawin = statusKawin;
	}

	@Column(name = "StatusKawinFk", insertable = false, updatable = false)
	private Integer statusKawinId;

	@ManyToOne
	@JoinColumn(name = "TertanggungFk")
	@NotNull(message = "Tertanggung Harus Diisi")
	@Caption(value = "Tertanggung")
	private Tanggungan tertanggung;

	public Tanggungan getTertanggung() {
		return tertanggung;
	}

	public void setTertanggung(Tanggungan tertanggung) {
		this.tertanggung = tertanggung;
	}

	@Column(name = "TertanggungFk", insertable = false, updatable = false)
	private Integer tertanggungId;

	@Column(name = "NomorSurat", nullable = false, length = 100)
	@Caption(value = "NomorSurat")
	private String nomorSurat;

	public String getNomorSurat() {
		return nomorSurat;
	}

	public void setNomorSurat(String nomorSurat) {
		this.nomorSurat = nomorSurat;
	}

	@Column(name = "TanggalSurat", nullable = false, length = 100)
	@Caption(value = "TanggalSurat")
	private Date tanggalSurat;

	public Date getTanggalSurat() {
		return tanggalSurat;
	}

	public void setTanggalSurat(Date tanggalSurat) {
		this.tanggalSurat = tanggalSurat;
	}

	@Column(name = "Ayah", nullable = false, length = 100)
	@Caption(value = "Ayah")
	private String ayah;

	public String getAyah() {
		return ayah;
	}

	public void setAyah(String ayah) {
		this.ayah = ayah;
	}

	@Column(name = "Ibu", nullable = false, length = 100)
	@Caption(value = "Ibu")
	private String ibu;

	public String getIbu() {
		return ibu;
	}

	public void setIbu(String ibu) {
		this.ibu = ibu;
	}

	@Column(name = "NipStatus", nullable = false, length = 100)
	@Caption(value = "NipStatus")
	private String nipStatus;

	public String getNipStatus() {
		return nipStatus;
	}

	public void setNipStatus(String nipStatus) {
		this.nipStatus = nipStatus;
	}

	@Column(name = "Alamat", nullable = false, length = 100)
	@Caption(value = "Alamat")
	private String alamat;

	public String getAlamat() {
		return alamat;
	}

	public void setAlamat(String alamat) {
		this.alamat = alamat;
	}

	@Column(name = "Keterangan", nullable = false, length = 100)
	@Caption(value = "Keterangan")
	private String keterangan;

	public String getKeterangan() {
		return keterangan;
	}

	public void setKeterangan(String keterangan) {
		this.keterangan = keterangan;
	}

}