Нет. По крайней мере, не так, как вы просили. Как только вы попросите Hibernate попасть в базу данных (с помощью метода list()
), Hibernate сделал свою часть, и результаты теперь находятся в ваших руках. Вы можете реализовать логику фильтрации в своем коде для последующей обработки результатов.
Тем не менее, можно отфильтровать результаты в самом запросе. Если вы зададите фильтр Hibernate и включите его для конкретной модели / запроса, вы сможете сохранить исходный запрос HQL, а Hibernate добавит его с дополнительными where
предложениями для дальнейшего фильтрации результатов. См. Это:
http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/filters.html
Хорошо, если кто-то столкнется с этой проблемой, вам нужно выгружать файл .xyz после каждой итерации в цикле foreach, используя метод UnFileLoad.
public void UnLoadFile(IntPtr currentFileHandle)
{
uint = dUnLoadFile(currentFileHandle);
}
И это то, что я делал при обработке объектов ProcessData. Однако у меня был также метод для инициализации объектов ProcessData, и там я не выгружал файлы. Я мог инициализировать все мои объекты без проблем (что странно), но программа потерпела крах при запуске обработки.
Спасибо jdweng за советы!