Безопасен ли поток сессии Hibernate?

Мне нужно знать, является ли сеанс Hibernate потокобезопасным или нет. Но очевидно, что к каждому потоку присоединяется новый сеанс для выполнения. Но мой вопрос: если в одном потоке я обновил какое-то значение сущности, то будет ли это отражено в другом потоке во время выполнения того же времени?

Моя проблема в том, что когда я запускаю обновление из двух потоков последовательно, значение обновляется должным образом, но когда я запускаю обновление почти полностью, это приводит к сбою.

например Текущий этап табл.

  ID      NAME      MARKS
------- --------- --------
  1       John       54

Я пытаюсь сделать следующее:

Student student = session.load(Student.class, 1);
student.setMarks(student.getMarks() + 1);
session.update(student);
session.close();

Когда я пытаюсь запустить приведенный выше код в цикле, скажем, 10, тогда значение «marks» в таблице «student» корректно обновляется, то есть значение обновляется до 64, что является правильным.

Но когда я пытаюсь запустить тот же код в многопоточной среде, это дает плохие результаты.

Ответы на вопрос(5)

Ваш ответ на вопрос