在特定时间后自动删除表中的行-JPA Spring Boot

问题描述 投票:0回答:1

有什么方法可以在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 [email protected];[email protected]
}
database spring-boot jpa jdbc service
1个回答
1
投票

您可以使用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 reportCurrentTime() {
        // do your logic
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.