package com.jasamedika.medifirst2000.vo;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.*;
import java.util.Date;
import org.hibernate.validator.constraints.NotEmpty;

import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import javax.validation.constraints.NotNull;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.internal.util.logging.Messages;

import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.jasamedika.medifirst2000.base.vo.BaseMasterVO;
import com.jasamedika.medifirst2000.helper.Caption;

/**
 *  class KotaKabupaten
 * 
 * @author Generator
 */
//@Entity
//@Table(name = "KotaKabupaten_M")
public class KotaKabupatenVO extends BaseMasterVO {
	@Caption(value="Kode Kota Kabupaten")
	private short kdKotaKabupaten;

	public void setKdKotaKabupaten(short kdKotaKabupaten) {
		this.kdKotaKabupaten = kdKotaKabupaten;
	}

	@Column(name = "KdKotaKabupaten", nullable = false )
	public short getKdKotaKabupaten(){
		return this.kdKotaKabupaten;
	}

	@ManyToOne
	@JoinColumn(name = "ObjectPropinsiFk")
	@NotNull(message="Object PropinsiVO Harus Diisi")
	@Caption(value="Object Propinsi")
	private PropinsiVO propinsi;

	public void setPropinsi(PropinsiVO propinsi) {
		this.propinsi = propinsi;
	}

	@Column(name = "KdPropinsi", nullable = false )
	public PropinsiVO getPropinsi(){
		return this.propinsi;
	}

	@Column(name = "ObjectPropinsiFk", insertable=false,updatable=false)
	private Integer propinsiId;

	@Caption(value="Nama Kota Kabupaten")
	private String namaKotaKabupaten;

	public void setNamaKotaKabupaten(String namaKotaKabupaten) {
		this.namaKotaKabupaten = namaKotaKabupaten;
	}

	@Column(name = "NamaKotaKabupaten", nullable = false , length = 50)
	public String getNamaKotaKabupaten(){
		return this.namaKotaKabupaten;
	}

	@Caption(value="QKota Kabupaten")
	private short qKotaKabupaten;

	public void setqKotaKabupaten(short qKotaKabupaten) {
		this.qKotaKabupaten = qKotaKabupaten;
	}

	@Column(name = "QKotaKabupaten", nullable = false )
	public short getqKotaKabupaten(){
		return this.qKotaKabupaten;
	}

/*
	//
	@OneToMany(fetch=FetchType.LAZY, cascade = CascadeType.ALL, mappedBy="kdkotakabupaten")
	private Set<Alamat> AlamatSet = new HashSet<Alamat>();

	public Set<Alamat> getAlamatSet() {
		return AlamatSet;
	}

	public void setAlamatSet(Set<Alamat> alamatSet) {
		AlamatSet = alamatSet;
	}
	
	//
	@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "kdkotakabupaten")
	private Set<DesaKelurahan> DesaKelurahanSet = new HashSet<DesaKelurahan>();

	public Set<DesaKelurahan> getDesaKelurahanSet() {
		return DesaKelurahanSet;
	}

	public void setDesaKelurahanSet(Set<DesaKelurahan> desaKelurahanSet) {
		DesaKelurahanSet = desaKelurahanSet;
	}

	//
	@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "kdkotakabupaten")
	private Set<Kecamatan> KecamatanSet = new HashSet<Kecamatan>();

	public Set<Kecamatan> getKecamatanSet() {
		return KecamatanSet;
	}

	public void setKecamatanSet(Set<Kecamatan> kecamatanSet) {
		KecamatanSet = kecamatanSet;
	}*/

}

