// Path: P2-previo/jpa.eclipselink/src/jpa/eclipselink/modelo/Familia.java
// @Entity
// public class Familia {
//   @Id
//   @GeneratedValue(strategy = GenerationType.TABLE)
//   private int id;
//   private String descripcion;
// 
//   @OneToMany(mappedBy = "familia")
//   private final List<Persona> miembros = new ArrayList<Persona>();
// 
//   public int getId() {
//     return id;
//   }
// 
//   public void setId(int id) {
//     this.id = id;
//   }
// 
//   public String getDescripcion() {
//     return descripcion;
//   }
// 
//   public void setDescripcion(String descripcion) {
//     this.descripcion = descripcion;
//   }
// 
//   public List<Persona> getMiembros() {
//     return miembros;
//   }
// 
// }
// 
// Path: P2-previo/jpa.eclipselink/src/jpa/eclipselink/modelo/Persona.java
// @Entity
// public class Persona {
//   @Id
//   @GeneratedValue(strategy = GenerationType.TABLE)
//   private String id;
//   private String nombre;
//   private String apellidos;
// 
//   private Familia familia;
// 
//   private String campoSinSentido = "";
// 
//   private List<Empleo> listaEmpleos = new ArrayList<Empleo>();
// 
//   public String getId() {
//     return id;
//   }
// 
//   public void setId(String id) {
//     this.id = id;
//   }
// 
//   public String getNombre() {
//     return nombre;
//   }
// 
//   public void setNombre(String nombre) {
//     this.nombre = nombre;
//   }
// 
//   public String getApellidos() {
//     return apellidos;
//   }
// 
//   public void setApellidos(String apellidos) {
//     this.apellidos = apellidos;
//   }
// 
//   @ManyToOne
//   public Familia getFamilia() {
//     return familia;
//   }
// 
//   public void setFamilia(Familia familia) {
//     this.familia = familia;
//   }
// 
//   @Transient
//   public String getCampoSinSentido() {
//     return campoSinSentido;
//   }
// 
//   public void setCampoSinSentido(String campoSinSentido) {
//     this.campoSinSentido = campoSinSentido;
//   }
// 
//   @OneToMany
//   public List<Empleo> getListaEmpleos() {
//     return this.listaEmpleos;
//   }
// 
//   public void setListaEmpleos(List<Empleo> listaEmpleos) {
//     this.listaEmpleos = listaEmpleos;
//   }
// 
// }


import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import jpa.eclipselink.modelo.Familia;
import jpa.eclipselink.modelo.Persona;
package jpa.eclipselink.principal;



public class JpaTest {
  private static final String PERSISTENCE_UNIT_NAME = "relaciones_persistentes";
  private EntityManagerFactory factoria;

  @Before
  public void setUp() throws Exception {
    factoria = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factoria.createEntityManager();

    // Comenzar una nueva transaccion local de tal forma que pueda persistir como una nueva entidad
    em.getTransaction().begin();

    // Leer las entradas que ya hay en la base de datos
    // Las personas no deben tener ningun atributo asignado todavia
    Query q = em.createQuery("select m from Persona m");

    // Comprobar si necesitamos crear entradas en la base
    boolean createNewEntries = (q.getResultList().size() == 0);

    if (createNewEntries) {
      // Vamos a ello
      assertTrue(q.getResultList().size() == 0);
// Path: P2-previo/jpa.eclipselink/src/jpa/eclipselink/modelo/Familia.java
// @Entity
// public class Familia {
//   @Id
//   @GeneratedValue(strategy = GenerationType.TABLE)
//   private int id;
//   private String descripcion;
// 
//   @OneToMany(mappedBy = "familia")
//   private final List<Persona> miembros = new ArrayList<Persona>();
// 
//   public int getId() {
//     return id;
//   }
// 
//   public void setId(int id) {
//     this.id = id;
//   }
// 
//   public String getDescripcion() {
//     return descripcion;
//   }
// 
//   public void setDescripcion(String descripcion) {
//     this.descripcion = descripcion;
//   }
// 
//   public List<Persona> getMiembros() {
//     return miembros;
//   }
// 
// }
// 
// Path: P2-previo/jpa.eclipselink/src/jpa/eclipselink/modelo/Persona.java
// @Entity
// public class Persona {
//   @Id
//   @GeneratedValue(strategy = GenerationType.TABLE)
//   private String id;
//   private String nombre;
//   private String apellidos;
// 
//   private Familia familia;
// 
//   private String campoSinSentido = "";
// 
//   private List<Empleo> listaEmpleos = new ArrayList<Empleo>();
// 
//   public String getId() {
//     return id;
//   }
// 
//   public void setId(String id) {
//     this.id = id;
//   }
// 
//   public String getNombre() {
//     return nombre;
//   }
// 
//   public void setNombre(String nombre) {
//     this.nombre = nombre;
//   }
// 
//   public String getApellidos() {
//     return apellidos;
//   }
// 
//   public void setApellidos(String apellidos) {
//     this.apellidos = apellidos;
//   }
// 
//   @ManyToOne
//   public Familia getFamilia() {
//     return familia;
//   }
// 
//   public void setFamilia(Familia familia) {
//     this.familia = familia;
//   }
// 
//   @Transient
//   public String getCampoSinSentido() {
//     return campoSinSentido;
//   }
// 
//   public void setCampoSinSentido(String campoSinSentido) {
//     this.campoSinSentido = campoSinSentido;
//   }
// 
//   @OneToMany
//   public List<Empleo> getListaEmpleos() {
//     return this.listaEmpleos;
//   }
// 
//   public void setListaEmpleos(List<Empleo> listaEmpleos) {
//     this.listaEmpleos = listaEmpleos;
//   }
// 
// }


// Path: P2-previo/jpa.eclipselink/src/jpa/eclipselink/principal/JpaTest.java
import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import jpa.eclipselink.modelo.Familia;
import jpa.eclipselink.modelo.Persona;

package jpa.eclipselink.principal;



public class JpaTest {
  private static final String PERSISTENCE_UNIT_NAME = "relaciones_persistentes";
  private EntityManagerFactory factoria;

  @Before
  public void setUp() throws Exception {
    factoria = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factoria.createEntityManager();

    // Comenzar una nueva transaccion local de tal forma que pueda persistir como una nueva entidad
    em.getTransaction().begin();

    // Leer las entradas que ya hay en la base de datos
    // Las personas no deben tener ningun atributo asignado todavia
    Query q = em.createQuery("select m from Persona m");

    // Comprobar si necesitamos crear entradas en la base
    boolean createNewEntries = (q.getResultList().size() == 0);

    if (createNewEntries) {
      // Vamos a ello
      assertTrue(q.getResultList().size() == 0);
      Familia familia = new Familia();