HQL-запрос с использованием столбца даты - PullRequest
0 голосов
/ 24 марта 2011

Я пытаюсь создать запрос, который будет возвращать объекты List of Person, основываясь на том, что поле createDate падает после переданной строки, представляющей дату.

Мои поля createDate отображаются так в моем Personкласс

@Basic(optional = false)
@Column(name = "CREATE_DATE")
@Temporal(TemporalType.DATE)
private Date createDate;

Моя функция поиска всех результатов по дате после даты выглядит следующим образом.

public List<Person> searchDate(String startDate) {

     Session session = getSessionFactory().openSession();

     String s_query = "FROM Person as p WHERE p.createDate >= :date";
     Query query;
     DateFormat df = new SimpleDateFormat('dd-MMM-yy');

     try {
        Date dt = df.parse(startDate);
        query = session.createQuery(s_query).setDate("date", dt);

     } catch(ParseException e){} 

     return (List<Person>)query.list();

}

1 Ответ

2 голосов
/ 25 марта 2011

Я не вижу там никаких проблем.Код должен работать.Вы можете попробовать это как альтернативу.

public List<Person> searchDate(String startDate) {
    Calendar cal = Calendar.getInstance();
    cal.set( year, month-1, day );
    Date createDate = cal.getTime();
    Session session = getSessionFactory().openSession();
    Criteria criteria = session.createCriteria(Person.class ); 
    criteria.add( Restrictions.eq( "createDate", createDate) ); 
    return criteria.list();;
}

Надеюсь, это поможет.Если что-то не так, обсудите здесь, потому что обсуждение - это способ учиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...