Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datensätze von vor mehr als einem Jahr löschen

Dazu benötigen Sie 2 Schritte. Zunächst brauchen Sie eine Methode, die als Parameter das Datum nimmt, an dem Sie die Nachrichten löschen möchten, und Sie brauchen die @Query nicht Anmerkung überhaupt.

In Ihrem Repository müssen Sie also so etwas wie

haben
    @Modifying
    public void deleteByCreatedAtBefore(Date expiryDate);

Jetzt berechnen Sie in Ihrer Servicemethode das Datum und geben es so weiter

    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);
     }