Автоудаление строки в таблице через определенное время - JPA Spring Boot - PullRequest
0 голосов
/ 14 октября 2019

Есть ли способ реализовать службу в Spring Boot с JPA, которая может удалить строку внутри таблицы через определенное время? Как одна неделя?

Или это будет очень-очень медленная тема - плохая практика?

@Setter
@Getter
@Entity
public class ConferenceRoom {
    @Id
    @GeneratedValue
    private Long id;
    private long start;
    private long end; // Delete row after a week have passed from time end
    private String email; // The owner who created the meeting
    private String members = ""; // e.g myMember@host1.com;mySecondMember@host2.com
}

1 Ответ

1 голос
/ 14 октября 2019

Вы можете использовать запланированные задачи Spring Spring.

Сначала пометьте класс @Configuration аннотацией @EnableScheduling.

@SpringBootApplication
@EnableScheduling
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

Аннотация @EnableScheduling сообщает Spring для созданияИсполнитель фоновых задач. Без этой аннотации ничего не запланировано.

Затем создайте класс @Component и начните создавать методы, которые вы хотите выполнить, и отметьте их @Scheduled.

@Component
public class MySchedule {

    @Scheduled(cron = "0 0 12 * * FRI") // this method will be executed as 12:00:00 AM of every friday
    public void myMethod() {
        // do your logic
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...