package com.app.Entity;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Entity
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Enfant {
	@Id
    @GeneratedValue(strategy = GenerationType.AUTO)
	//@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "default_sequence")
	private long id;
	private String firstname;
	private String lastname;
	private String civilite;
	private String dateNaissance;
	private String regimeEnf;
	private String etatCivil;
	private String email;

	@ManyToMany(fetch = FetchType.EAGER,
		      cascade = {
		          CascadeType.PERSIST,
		          CascadeType.MERGE
		      },
		      mappedBy = "enfants")

   private Set<Affaire> affaires = new HashSet<>();

	public Set<Affaire> getAffaires(){
	    return affaires;
	  }

	  public void setAffaires(Set<Affaire> affaires) {
	    this.affaires = affaires;
	  }

}
