0

谁能建议我在当前日期的条件下获取数据的解决方案,我在类型系统当前日期的 dao 层方法中传递。例如,我必须从具有日期类型(Mysql)的列“startdate”的表“X”中获取数据,如果该日期大于当前日期传递给java中的查询。我尝试过使用 java.util.Date 但无法正常工作,而且我的要求是不要使用数据库特定的函数,如 curr() 或 Now()。我找到了一个相关的帖子,但没有任何帮助。除了使用 JodaTime 之外,没有其他选择。谢谢。

4

1 回答 1

1

在您的实体类标记“开始日期”字段中

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

并创建这样的查询:

@NamedQuery(name = "Entity.findAfterDate", query = "SELECT e FROM Entity e WHERE e.startdate >= :dateAfter")

在你的 EntityDAOImpl

public List<Entity> getEntitiesAfterDate(Date date) {
    Query query = openSession().getNamedQuery("Entity.findAfterDate");
    query.setParameter("dateAfter", date);
    return query.list();
}
于 2013-11-13T11:12:15.943 回答