Я думаю, что это связано с тем, что интерфейсы репозитория не должны аннотироваться @Repository
и, следовательно, не регистрироваться в контейнере componentScan
из applicationContext
. и, следовательно, не будет обработано с помощью bean-post.
И, следовательно, определение EnableJpaRepositories
следующее:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Import(JpaRepositoriesRegistrar.class)
public @interface EnableJpaRepositories {
Итак, @EnableJpaRepositories
выполняет работу, используя JpaRepositoriesRegistrar
который делегирует регистрацию интерфейсов репозитория RepositoryConfigurationDelegate#registerRepositoriesIn
.
И в таком случае требуется ручная регистрация ExceptionTranslator Advice и Transaction Advice.