Переход без транзакций с Hibernate - PullRequest
0 голосов
/ 14 февраля 2009

Есть ли способ выбрать обновления, которые Hibernate обернет в транзакцию? Вдохновленный стремлением EBay по возможности использовать транзакции без транзакций, я знаю о многих обновлениях в моем приложении, которые не требуют записи ACID. Например, есть обновление, которое состоит из идентификатора пользователя и идентификатора для другой таблицы. Только один пользователь может вставить эту запись, и я знаю, что это не обязательно должна быть транзакция. Итак, как мне отключить транзакции для этой одной вставки или вставки в эту одну таблицу?

Edit:

Что ж, учитывая, что моей базой данных является mysql - похоже, мне придется выбирать по таблице. Любая таблица, которая не нуждается в транзакциях, может быть настроена как myisam вместо innodb. ну, не тот ответ, который я искал.

Ответы [ 2 ]

1 голос
/ 14 февраля 2009

См .: Документация Hibernate Tx

Общий ответ - это зависит от того, как вы называете спящий режим. Приведенный выше документ объясняет, как именно вы управляете своими транзакционными границами через Hibernate API.

0 голосов
/ 14 февраля 2009

Я ничего не знаю о Hibernate, но мои мысли:

Если вы явно не НАЧИНАЕТЕ СДЕЛКУ / СОВЕРШЕНИЕ, тогда все будет сделано (если вы не включили неявные транзакции).

Если у вас есть только один INSERT / UPDATE на страницу (единицу работы), то эта страница по своей природе является ACID, поэтому не важно, запускаете ли вы явную транзакцию или нет,

Однако неявная транзакция, которая ограничивает транзакцию БД всей страницы, гарантирует, что если вы добавите что-то в будущем, забыв, что на странице нет неявной транзакции, вы спасете себя от себя!

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