Java 基于日期条件从mysql数据库表中获取数据

Java 基于日期条件从mysql数据库表中获取数据,java,sql,hibernate,Java,Sql,Hibernate,有人能给我建议一个在当前日期条件下获取数据的解决方案吗?我正在传递系统当前日期类型的dao层方法。 例如,我必须从表“X”中获取数据,该表有一个日期类型(Mysql)的“startdate”列,如果该日期大于java中传递给查询的当前日期。 我尝试过java.util.Date,但不起作用,而且我的要求是不要使用特定于数据库的函数,如curr()或Now()。 我找到了一个相关的帖子,但没有一个有用。除了使用JodaTime,没有其他选择。 谢谢。在实体类中,用 @Column(name = "

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

在实体类中,用

@Column(name = "startdate")
@Temporal(TemporalType.DATE)
private Date startdate;
并创建如下查询:

@NamedQuery(name = "Entity.findAfterDate", query = "SELECT e FROM Entity e WHERE e.startdate >= :dateAfter")
在你的整个世界

public List<Entity> getEntitiesAfterDate(Date date) {
    Query query = openSession().getNamedQuery("Entity.findAfterDate");
    query.setParameter("dateAfter", date);
    return query.list();
}
公共列表getEntitiesAfterDate(日期){
Query Query=openSession().getNamedQuery(“Entity.findAfterDate”);
query.setParameter(“dateAfter”,date);
返回query.list();
}