Ошибка гибернации: «Неожиданный вызов partFlushEnd; ожидается частичный FlushStart» - PullRequest
0 голосов
/ 05 марта 2020

Я получил эту ошибку шесть вызовов глубоко в коде Hibernate:

Unexpected call to partialFlushEnd; expecting partialFlushStart

То, что GitHub говорит мне, происходит от здесь . Моя вызывающая функция -

public List<Drug> getDrugs(String drugName) throws DAOException {
    Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug");
    if (drugName != null) {
        SimpleExpression eq = Restrictions.eq("drug.name", drugName);
        searchCriteria.add(eq);
    }
    return (List<Drug>) searchCriteria.list();  // throws
}

. Раньше я не выполнял никакой ручной очистки, но я могу решить эту проблему, добавив

sessionFactory.getCurrentSession().flush();

непосредственно перед вызовом searchCriteria.list().

Я не понимаю, почему это решает проблему. Ошибка гибернации не очень информативна. Как я могу понять, когда сеанс должен быть сброшен?

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