private Profesor parse(Dictionary objeto) {
        //Busca un ID en el mapa
        Object value = objeto.get(ID);
        //Declaramos el objeto Profesor
        Profesor p;
        //Si no se encuentra un ID en el mapa, crea un nuevo objeto, sino, busca
        //en la base de datos.
        if(value == null) p = new Profesor();
        else p = em.find(Profesor.class, value);
        //Busca el resto de los atributos y si se encuentran los sobreescribe
        value = objeto.get(NOMBRE);
        if(value!=null) p.setNombreProfesor((String) value);
        value = objeto.get(CATEGORIA);
        if(value!=null) p.setCategoriaProfesor((Character) value);
        value = objeto.get(IDIOMA);
        if(value!=null) p.setIdiomaProfesor((String) value);
        value = objeto.get(EMAIL);
        if(value!=null) p.setEmailProfesor((String) value);
        value = objeto.get(ZONAHORARIA);
        if(value!=null) p.setZonaHorariaProfesor((String) value);
        value = objeto.get(NIVEL);
        if(value!=null) p.setNivelProfesor(em.find(Nivel.class,value));
        return p;
    }