gpt4 book ai didi

mysql - Spring Data JPA 基于时间戳列获取数据

转载 作者:行者123 更新时间:2023-11-30 21:59:36 25 4
gpt4 key购买 nike

如何在具有时间戳类型的列上使用 spring data JPA 从表中检索数据。数据库是mySQL

列定义

last_update timestamp

领域对象

public class Film implements Serializable {
@Column(name="last_update")
private Timestamp lastUpdate;

public Timestamp getLastUpdate() {
return this.lastUpdate;
}

public void setLastUpdate(Timestamp lastUpdate) {
this.lastUpdate = lastUpdate;
}
}

Spring Data JPA 代码

@Repository                                                        
public interface FilmRepository extends CrudRepository<Film, Integer>
{
Film findByLastUpdate(Date date);
}

服务等级

@Override
public Film readFilmbyDate(){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Film film=null;
try {
film= filmRepository.findByLastUpdate(sdf.parse(sdf.format(new Date())));
} catch (ParseException e) {
e.printStackTrace();
}
return film;
}

这总是返回 null 因为 DB 列有一个 timestamp(2017-05-07 06:45:19),基本上我想返回所有记录最后更新日期为今天/当前日期。

最佳答案

将您的方法更改为 findByLastUpdateBetween(Date date, Date after)并传入您要查找的日期的开始和结束时间。如果您使用的是 Java 8,您可以添加一个默认方法以从一个输入日期创建日期并调用 findLastUpdateBetween,否则,您可以使用 custom implementation为此。

关于mysql - Spring Data JPA 基于时间戳列获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com