Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Excluir registros de mais de 1 ano atrás


Para isso você precisa de 2 passos. Antes de tudo você precisa de um método que tome como parâmetro a data da qual você deseja excluir as mensagens e você não precisa de @Query anotação em tudo.

Então no seu repositório você deve ter algo como
    @Modifying
    public void deleteByCreatedAtBefore(Date expiryDate);

Agora no seu método de serviço, você vai calcular a Data e passar assim
    public void performTweetCleanup(){
       //calculate date
       Calendar cal = Calendar.getInstance();
       Date today = cal.getTime();
       cal.add(Calendar.YEAR, -1);
       Date previousYear = cal.getTime();

       //call the method
       MyTweeterRepository.deleteByCreatedAtBefore(previousYear);
     }