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.RegistrasiKeanggotaan;
import com.jasamedika.medifirst2000.entities.Bibliography;

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

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

/**
 * class Reservasi
 * 
 * @author Generator
 */
@Entity
@Table(name = "sdm_Reservasi_T")
public class Reservasi extends BaseTransaction {
	@ManyToOne
	@JoinColumn(name = "AnggotaFk")
	@NotNull(message = "Anggota Harus Diisi")
	@Caption(value = "Anggota")
	private RegistrasiKeanggotaan anggota;

	public RegistrasiKeanggotaan getAnggota() {
		return anggota;
	}

	public void setAnggota(RegistrasiKeanggotaan anggota) {
		this.anggota = anggota;
	}

	@Column(name = "AnggotaFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false)
	private String anggotaId;

	@ManyToOne
	@JoinColumn(name = "BukuFk")
	@NotNull(message = "Buku Harus Diisi")
	@Caption(value = "Buku")
	private Bibliography buku;

	public Bibliography getBuku() {
		return buku;
	}

	public void setBuku(Bibliography buku) {
		this.buku = buku;
	}

	@Column(name = "BukuFk", columnDefinition = "CHAR(32)", insertable = false, updatable = false)
	private String bukuId;
	@Column(name = "Status", nullable = true, length = 100)
	@Caption(value = "Status")
	private Date status;
	public Date getStatus() {
		return status;
	}

	public void setStatus(Date status) {
		this.status = status;
	}

	@Column(name = "TanggalPinjam", nullable = false, length = 100)
	@Caption(value = "TanggalPinjam")
	private Date tanggalPinjam;
	
	@Column(name = "TanggalKembali", nullable = true, length = 100)
	@Caption(value = "TanggalKembali")
	private Date tanggalKembali;
	public Date getTanggalKembali() {
		return tanggalKembali;
	}

	public void setTanggalKembali(Date tanggalKembali) {
		this.tanggalKembali = tanggalKembali;
	}

	public Date getTanggalPinjam() {
		return tanggalPinjam;
	}

	public void setTanggalPinjam(Date tanggalPinjam) {
		this.tanggalPinjam = tanggalPinjam;
	}

}