Как использовать критерии для объединения в поле даты (в DB2) на основе года - PullRequest
0 голосов
/ 24 марта 2010

У меня есть поле java.util.Date в моем объекте. Я хотел бы использовать Критерии, чтобы выбрать все строки, которые имеют поле даты с данным годом. SQL будет выглядеть следующим образом:

SELECT *
FROM GAME GM
WHERE YEAR(GM.GAME_DATE) = 2010

Как я могу использовать критерии для достижения этой цели? Заранее спасибо.

public Collection<Game> getGamesByDate(Date date){
        Collection<Game> games = null;

        try {       
            session.beginTransaction();
            Criteria criteria = session.createCriteria(Game.class);
            criteria ....
                        ...
                        ...
            games = criteria.list();
        } catch (HibernateException e) {
            e.printStackTrace();
        }

        return games;
    }

1 Ответ

0 голосов
/ 25 марта 2010

Я бы добавил Restriction следующим образом:

criteria.add(Restrictions.between("date", startDate, endDate);

Где startDate и endDate будут вашим годом с -01-01 и -12-31 (как сказал Ян Бьерховде).

Если вы хотите использовать HQL, функция year() является допустимым выражением в предложении where.

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