Есть ли принципальное отличие между инъекцией Repository в функцию, и получением его же через entityManager(см. код)?
Попробуйте написать тесты для этого класса/метода и поймете, в чем разница.
Если нужно просто получить некоторые данные из репозитория, то первый вариант лучше.
А вот если надо полученные данные как-то изменять, то лучше второй вариант, т.к. сразу можно дернуть persist и flush из em.