пользовательская аннотация в репозитории jpa, где метод сохранения переопределен - PullRequest
0 голосов
/ 26 декабря 2018

Пользовательская аннотация

@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface BufferWriter {

}

Аспект

@Aspect
@Configuration
public class BufferWriterAspect {

@AfterReturning(value = "@annotation(bufferWrite)", returning = "data")
public void process(BufferWrite bufferWrite, Object data){

System.out.println(data);

}

}

Репозиторий Я поместил аннотацию в jpaРепозиторий как следует

@Repository
public interface TestRepository extends JpaRepository<TestModel, Long> {

@Override
@BufferWriter
<S extends TestModel> S save(S entity);
}

Проблема в том, что он не работает!

, но когда я добавляю аннотацию к сервису (как следует), он работает нормально.

Сервисный интерфейс

public interface TestService {
TestModel save(TestModel testModel);
}

Сервисный интерфейс Impl

@Service
public class TestServiceImpl implements TestService {

private @Autowired TestRepository repository;

@Override
@Transactional
@BufferWrite
public TestModel save(TestModel testModel) {
  return repository.save(testModel);
 }
}
...