Я работаю над разработкой веб-приложения с MySQL Server 5.1, Spring 3.0.5 и Hibernate 3.6. Я использую управление транзакциями Springs. Я новичок, поэтому, пожалуйста, будьте терпеливы со мной, если я задам вопрос, на который легко ответить. : -)
1) Я читал о глобальных (xa) и локальных транзакциях. Верно ли, что глобальные транзакции означают транзакции, которые выполняют операции с данными на разных ресурсах (например, в разных базах данных). И что локальные транзакции выполняют операции с данными только на одном ресурсе (базе данных).?
2) Возможно ли иметь глобальные транзакции с Hibernate? В справочной документации Spring я прочитал это: "Вы также можете легко использовать локальные транзакции Hibernate, как показано в следующих примерах. В этом случае вам нужно определить Hibernate LocalSessionFactoryBean, который код вашего приложения будет использовать для получения Hibernate Экземпляры сеанса. " Вот почему я думаю, что транзакции Hibernate, возможно, всегда локальны, и я больше ничего не нашел об этом.
3) Почему возможно использование таблиц MyISAM с Hibernate? Они не поддерживают транзакции, и я думаю, что Hibernate требует транзакций? Я действительно не понимаю этого. Сначала я думал, что это невозможно, но почему тогда можно создавать таблицы MyISAM с помощью Hibernate и использовать MyISAM Dialect? Как это работает??? Hibernate требует транзакции или нет? Я думал, что для использования Hibernate вам нужно использовать InnoDB.
Спасибо, что ответили! : -)