JPA2 с серверной частью MySQL: MyISAM или InnoDB - PullRequest
1 голос
/ 30 августа 2011

Очевидно, что существует множество вариантов выбора движка MyISAM против InnoDB, но я не смог найти ничего конкретного для JPA2.

Можно ли использовать движок MyISAM вместе с API персистентности Java и при этом поддерживать транзакции? Или он полагается на СУБД для обеспечения функций отката / фиксации?

Существуют ли другие (неочевидные) факторы, которые необходимо учитывать? А как насчет @Cascade?

1 Ответ

1 голос
/ 01 сентября 2011

Я обнаружил эту публикацию , что довольно неплохо подходит для использования транзакционных серверных СУБД.

Мне удалось воспроизвести поведение:

  • Создать сущность
  • В рамках транзакции выведите исключение

С MyISAM сущность останется созданной. С InnoDB сущность создается, но затем откатывается. Поэтому, хотя мне не удалось найти что-то официальное, я убежден, что требуется транзакционный бэкэнд , если ожидается, что транзакции, предоставленные контейнером, будут работать.

...