我有一个带有ZonedDateTime字段的JPA实体表(使用Jhipster JDL studio生成)。
@Entity
@Table(name = "randomTable")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class RandomTable implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
private Long id;
@NotNull
@Column(name = "data", nullable = false)
private ZonedDateTime data;
}
我想这样做,以便当当前日期/时间超过我的ZonedDateTime字段中描述的日期时,我数据库中的实体将被删除。我该如何实现?
进行此操作的最佳方法是创建一个每隔几分钟运行一次的任务Bean,并检查所有实体以查看它们是否过期,然后删除过期的实体。查看@Scheduled
批注。