Мы используем hibernate в качестве ORM в нашем проекте вместе со средой Spring. Сегодня я столкнулся с одной проблемой, когда один именованный запрос (в основном запрос выбора) дает неоднозначные результаты при многократном вызове. Хит к этому запросу выбора не находится в цикле, тогда как это от внешнего интерфейса. Таким образом, когда я выполняю одну и ту же операцию несколько раз из внешнего интерфейса, иногда запрос выбирает правильные данные из БД, но иногда нет.
Пример: (пример кода)
Query query = session.getNamedQuery("select debitid from ABCMstrEntity where entitynum=: entitynum and isopen=:Y");
query.set(........);
..
List<Object[]> list = (List<Object[]>)query.list;
В первых 4 попытках я получил правильные данные в объекте списка.
В моей 5-й попытке я получил пустой список, хотя в представленных входных данных присутствовали данные в БД. Когда я проверил это с помощью журналов запросов БД в конце БД, я обнаружил, что для 5-й попытки не было попадания в конец БД. Похоже, что-то здесь пошло не так.
Я также проверил настройки, связанные с кэшем, в спящем режиме в моем проекте, но мы не кэшируем результаты запросов ни в одной из областей кэша. Также не было исключений в логах приложений.
Пожалуйста, кто-нибудь поможет мне в этом вопросе, проанализировав и исправив его.