我有一个包含日期和时间条目的表。我尝试创建一个仅比较日期部分的 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()
函数。
最佳答案
一种可能的解决方案是使用日期作为列类型并减少信息。
@Column(name = "voteDate")
@Temporal(value = TemporalType.DATE)
private Date voteDate;
关于datetime - 将日期时间列的日期部分与 NamedQuery 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27939156/