2015-01-14 67 views
2

我有一個包含日期和時間條目的表。我嘗試創建一個只比較日期部分的NamedQuery。datetime列與NamedQuery的比較日期部分

@NamedQuery(name = "Vote.findForDate", query = "SELECT v FROM Vote v WHERE v.createdAt = :date") 
... 
createNamedQuery("Vote.findForDate").setParameter("date", date, TemporalType.DATE).getResultList(); 

但它似乎總是試圖比較整個日期時間。

有沒有辦法沒有在SQL中使用date()函數?
我試圖獨立於數據庫。例如h2沒有date()功能。

回答

2

一種可能的解決方案是使用date作爲列類型並減少信息。

@Column(name = "voteDate") 
    @Temporal(value = TemporalType.DATE) 
    private Date voteDate;