このためには2つのステップが必要です。まず最初に、メッセージを削除する日付をパラメーターとして受け取るメソッドが必要であり、@Query
は必要ありません。 注釈。
したがって、リポジトリには
のようなものが必要です。 @Modifying
public void deleteByCreatedAtBefore(Date expiryDate);
これで、サービスメソッドで日付を計算し、次のように渡します
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);
}