package com.jasamedika.medifirst2000.entities;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jasamedika.medifirst2000.base.BaseMaster;
import com.jasamedika.medifirst2000.helper.Caption;

@Entity
@Table(name = "RelasiPenanggungJawabPasien_M")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class RelasiPenanggungJawabPasien extends BaseMaster {
	
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "public.RelasiPenanggungJawabPasien_id_seq")
	@SequenceGenerator(name = "public.RelasiPenanggungJawabPasien_id_seq", sequenceName = "public.RelasiPenanggungJawabPasien_id_seq", allocationSize = 1)
	@Column(name = "id")
	protected Integer id;

	@Column(name="nama")
	@Caption("Nama")
	private String nama;
	
	@Column(name="tempat_lahir")
	@Caption("Tempat lahir")
	private String tempatLahir;
	
	@Column(name="tanggal_lahir")
	@Caption("Tanggal lahir")
	private Date tanggalLahir;
	
	@Column(name="alamat")
	@Caption("Alamat")
	private String alamat;
	
	@OneToOne(fetch=FetchType.LAZY)
	@JoinColumn(name="StrukPelayananPenjaminFK")
	@Caption("StrukPelayananPenjamin")
	private StrukPelayananPenjamin strukPelayananPenjamin;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getNama() {
		return nama;
	}

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

	public String getTempatLahir() {
		return tempatLahir;
	}

	public void setTempatLahir(String tempatLahir) {
		this.tempatLahir = tempatLahir;
	}

	public Date getTanggalLahir() {
		return tanggalLahir;
	}

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

	public String getAlamat() {
		return alamat;
	}

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

	public StrukPelayananPenjamin getStrukPelayananPenjamin() {
		return strukPelayananPenjamin;
	}

	public void setStrukPelayananPenjamin(StrukPelayananPenjamin strukPelayananPenjamin) {
		this.strukPelayananPenjamin = strukPelayananPenjamin;
	}
	
}
