sql >> Database teknologi >  >> RDS >> Mysql

Slet poster fra mere end 1 år siden

Til dette skal du bruge 2 trin. Først og fremmest har du brug for en metode, der tager den dato, du vil slette beskederne på, som parameter, og du behøver ikke @Query anmærkning overhovedet.

Så i dit lager skal du have noget som

    @Modifying
    public void deleteByCreatedAtBefore(Date expiryDate);

Nu i din servicemetode vil du beregne datoen og videregive den sådan her

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


  1. SQL Server:beregner datointervaller

  2. Sådan laver du en trinvis sikkerhedskopiering i Mysql

  3. Opdatering af Salesforce fra Oracle®

  4. Forskellen mellem sql-sætninger og klausul