sql >> Databasteknik >  >> RDS >> Mysql

Ta bort poster från mer än 1 år sedan

För detta behöver du 2 steg. Först och främst behöver du en metod som tar som parameter datumet för vilket du vill radera meddelandena och du behöver inte @Query anteckning överhuvudtaget.

Så i ditt arkiv måste du ha något som

    @Modifying
    public void deleteByCreatedAtBefore(Date expiryDate);

Nu i din servicemetod kommer du att beräkna datumet och skicka det vidare så här

    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. Flera men ömsesidigt uteslutande främmande nycklar - är det här vägen att gå?

  2. Det går inte att skapa en instans av OLE DB-leverantören Microsoft.Jet.OLEDB.4.0 för länkad server null

  3. Hur man får databasmetadata

  4. Hur man ändrar teckenuppsättning från latin1 till UTF8 i MySQL