1
如何從具有時間戳類型的列的彈簧數據JPA的表中檢索數據。數據庫爲MySQLSpring Data JPA基於時間戳列提取數據
列定義
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;
}
}
春數據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
,因爲數據庫列有timestamp(2017-05-07 06:45:19)
,基本上我想返回所有記錄的最後更新日期是今天/當前日期。
謝謝Jens,它工作,我認爲這是時間戳列的唯一方法,我不能直接使用相等 – onlinejava
隨着時間戳,你必須使用範圍查詢。如果讀取性能很關鍵,那麼可以引入一個額外的日期列,可能由功能索引支持(不知道MySQL是否具有這樣的功能) –