Почему методы commit и rollback даны в классе transaction, а не в самом сеансовом классе?
Здравствуйте друзья,
У меня только что возник вопрос о методах commit() и rollback (), используемых классом Transaction. Но в классе Session есть методы save() и update (). Почему методы commit() и rollback() не объявлены с помощью методов save() и update() в классе Session и объявлены в классе Transaction.
мы пишем:
Сессия ses = factory.openSession();
Транзакция tx = session.beginTransaction();
затем:
пробовать{
. . .
сессии.сохранить();
Техас.совершать();
} catch(исключение e){
. . .
Техас.rollack();
}
Спасибо.
Что я уже пробовал:
Я попытался найти ответ с помощью API docs, а также попытался погуглить его.
Afzaal Ahmad Zeeshan
Потому что фиксация и откат связаны с транзакциями, а сохранение и обновление-с объектами сеанса.
Если вы хотите расширить функциональность, вы всегда можете добавить больше функций к типам объектов. Общий случай использования отличается, и именно поэтому они не поддерживают такое поведение.
VISH_a_CODE
Да, ваша мысль верна, но все же я ищу, есть ли какая-то другая причина. Хотя Спасибо за ваш комментарий. Если я найду какую-то другую причину, я напишу здесь, но если я этого не сделал, то ваша теория и ниже приведенное решение Мехди Голама должны быть только ответами.