connection.query не работает, когда используется в команде

Неправильно здесь то, что ваша конфигурация управления сеансом настроена на закрытие сеанса при совершении транзакции. Проверьте, есть ли у вас что-то вроде:

thread 

в вашей конфигурации.

Чтобы преодолеть эту проблему, вы можете изменить конфигурацию фабрики сеансов или открыть другой сеанс и только спросить для тех ленивых загруженных объектов. Но я бы предложил здесь инициализировать эту ленивую коллекцию в самой getModelByModelGroup и вызвать:

Hibernate.initialize(subProcessModel.getElement());

, когда вы все еще в активном сеансе.

И последнее. Дружелюбный совет. У вас есть что-то вроде этого в вашем методе:

            for (Model m : modelList)
            if (m.getModelType().getId() == 3) {
                model = m;
                break;
            }

Пожалуйста, установите этот код, просто отфильтруйте эти модели с идентификатором типа, равным 3 в запросе, только пару строк выше.

Некоторое чтение:

заводская конфигурация сеанса

проблема с закрытой сессией

0
задан GordoDeDamier 3 March 2019 в 21:42
поделиться