Почему вы продолжаете открывать сессии Hibernate так долго? Они не должны быть открыты в течение дня или дольше. Вы должны открыть сеанс, прочитать данные, сделать свое дело и затем закрыть сеанс. Если вам нужно хранить данные между сеансами, вы должны использовать свой собственный кеш.
Вы сохраняете некоторый контрольный журнал в своей базе данных, когда эти ежедневные обновления завершены, верно? Таким образом, каждый раз, когда вы открываете сеанс Hibernate, проверяйте, обновлен ли ваш внутренний кэш. Если данные в базе данных были обновлены после заполнения кеша, выгрузите кеш и перезагрузите его.