将datetime列的日期部分与NamedQuery进行比较
我有一个包含日期和时间的条目的表。我尝试创建一个只比较日期部分的NamedQuery将datetime列的日期部分与NamedQuery进行比较,datetime,jpa,jpa-2.0,jpql,java-ee-7,Datetime,Jpa,Jpa 2.0,Jpql,Java Ee 7,我有一个包含日期和时间的条目的表。我尝试创建一个只比较日期部分的NamedQuery @NamedQuery(name = "Vote.findForDate", query = "SELECT v FROM Vote v WHERE v.createdAt = :date") ... createNamedQuery("Vote.findForDate").setParameter("date", date, TemporalType.DATE).getResultList(); 但它似乎总
@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()
函数。一种可能的解决方案是使用日期作为列类型,并减少信息量
@Column(name = "voteDate")
@Temporal(value = TemporalType.DATE)
private Date voteDate;