Когда вы назначаете дату именованному параметру SQL, Hibernate автоматически преобразует его в GMT. Как вы используете текущий часовой пояс сервера для всех дат?
Допустим, у вас есть запрос:
Query q = session.createQuery("from Table where date_field < :now");
q.setDate("now", new java.util.Date());
"now" будет установлено в GMT, а "новая дата()" получит ваше текущее время сервера.
Спасибо.