Đối với điều này, bạn cần 2 bước. Trước hết, bạn cần một phương thức sẽ lấy làm tham số cho ngày bạn muốn xóa tin nhắn và bạn không cần tha @Query
chú thích ở tất cả.
Vì vậy, trong kho lưu trữ của bạn, bạn phải có một cái gì đó như
@Modifying
public void deleteByCreatedAtBefore(Date expiryDate);
Bây giờ trong phương thức dịch vụ của bạn, bạn sẽ tính toán Ngày và chuyển nó như thế này
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);
}