У меня есть 2 именованных запроса для объекта с разными параметрами. При выполнении 1-го запроса с обязательным параметром в моем классе обслуживания результаты данных из базы данных в порядке. Но при последовательном выполнении второго запроса с его параметром в том же классе обслуживания результаты данных смешиваются с данными предыдущего запроса.
Например. = У объекта есть имя пользователя и роль, и в таблице может быть несколько строк для 1 пользователя с разными ролями.
- Запрос 1 дает результат - 1. User_A & roll_A
- Запрос 2 дает результат - 1. User_B & roll_B 2. User_B & roll_C 3. User_B & roll_D
теперь код выполняет 1-й запрос и 2-й запрос, запрос 1 дает правильный результат, но запрос 2 дает результат как 1. User_A & roll_A 2. User_B & roll_C 3. User_B & roll_D
При изменении порядка запрос 2 дает правильный результат, а запрос 1 дает результат как User_B & roll_B
Это произошло после того, как я переместил аннотацию @transactional от уровня dao до уровня обслуживания. Раньше он работал нормально. Если кто-то столкнется с такой ситуацией, пожалуйста, предложите какое-нибудь решение.