Если я сделаю следующее
session.getTransaction () откат (); * +1003 *
тогда можно / можно начать вызывать сохранение / обновление / удаление и т. Д. Для того же объекта сеанса? Не удалось найти ответ на этот вопрос в API сеанса / транзакции Hibernate или в справочной документации по Hibernate.
Или вы рекомендуете мне закрыть этот объект Session, открыть новый Session и начать новую транзакцию?
Я говорю, закройте сессию и откройте новую. Hibernate не прощает злоупотребления сессиями. Это может немного ухудшить производительность, но, вероятно, предотвратит ошибку в будущем.
Юваль = 8 -)
Я не уверен, возможно ли это / желательно с точки зрения базы данных, но написание атомарного кода намного лучше для удобства чтения. Вы можете даже повторно использовать структуру шаблонного метода, чтобы забыть о связях вокруг вашей транзакции.