что такое управление транзакциями в спящем режиме? - PullRequest
5 голосов
/ 22 июня 2011

Что такое управление транзакциями в спящем режиме?

в моем приложении гибернации есть отображение один-ко-многим.

Например: Student таблица сопоставлена ​​с Subjects таблицей.

Когда я добавляю объект Student в это время, Subjects таблица также добавляет некоторую запись.

Хотя при вставке таблицы Subjects происходит любая ошибка, я хочу автоматически удалить запись таблицы Student.

Возможно ли это через управление транзакциями? Иначе как это возможно?

1 Ответ

9 голосов
/ 22 июня 2011

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

Управление транзакциями - это обширная и часто довольно сложная область, и способ ее настройки зависит от настроек вашего конкретного приложения.

Поскольку вы упомянули только Hibernate, я бы рекомендовал начать с чтения этой главы документации.Если вы используете Spring для разграничения границ транзакций, я бы рекомендовал вам прочитать этот раздел их документации.

Стоит отметить, что вы не можете отправлять SQL в свою базу данных вне транзакции.Здесь обсуждается .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...