Вот моя проблема: мое приложение разделено на одну и ту же базу данных. Когда я меняю зарегистрированную компанию, пружины вызывают функцию на postgres, которая выполняет:
execute 'set session.id_empresa = ' || id_empresa_p::varchar;
Иногда мне нужно получитьЗарегистрированная компания для вставки / удаления / обновления записей, используя:
execute 'show session.id_empresa ' into return_p;
Каждый раз при загрузке Spring при фильтрации записей, Spring вызывает:
SELECT f.*
FROM cad_feriado f
WHERE f.id_empresa = fu_obter_empresa_logada()
Проблема: Когда manager.createNativeQuery
используется, мой session.id_empresa
не возвращает правильное значение. Я считаю, что это потому, что новый сеанс создан и моя переменная сеанса потеряна.
В противном случае, когда Spring сохраняет записи для вставки / обновления / удаления, моя переменная сеанса работает правильно.
Есть ли способ сохранить исходный сеанс при создании запросов?