1) Depende lo purista que uno sea, si te ajustas rigurosamente al patrón(Repository) debería ir en los repositorios, personalmente utilizo algo similar a lo que tu tienes y solo "bajo" al repositorio cuando el proceso requiere hacer una Query especifica.
2) Puedes tener todas las opciones, simplemente cuando el tipo de dato es una entidad haces el persist directamente.
3) Filtrar y Validar es todo un tema, te sugiero que busques en el foro(se ha tratado anteriormente) o san google, de todas formas te dejo una referencia
http://www.doctrine-project.org/blog...lidations.html Cita: ¿ Que tengo que hacer para definir el tipo del parametro que quiero pasar y que funcione ?
Es una limitación de PHP,
Type Hinting.
Cita: ¿ Como comprobamos despues de una actualizacion o insercion de un registro en una entidad, que se ha llevado a cabo la insercion o la actualizacion satisfactoriamente ?
Excepciones, si doctrine no lanza ninguna quiere decir que la transacción fue exitosa.
Saludos.