JTA или ЛОКАЛЬНЫЕ транзакции в JPA2 + Hibernate 3.6. 0?

Мы находимся в процессе переосмысления нашего технологического стека, и ниже приведены наши варианты (мы не можем жить без Spring и Hibernate из-за сложности приложения и т. Д.) . Мы также переходим с J2EE 1.4 на Java EE 5.

Стек технологий

  1. Java EE 5
  2. JPA 2.0 (я знаю, что Java EE 5 поддерживает только т жить без Spring и Hibernate из-за сложности приложения). Мы также переходим с J2EE 1.4 на Java EE 5.

    Стек технологий

    1. Java EE 5
    2. JPA 2.0 (я знаю, что Java EE 5 поддерживает только т жить без Spring и Hibernate из-за сложности приложения). Мы также переходим с J2EE 1.4 на Java EE 5.

      Стек технологий

      1. Java EE 5
      2. JPA 2.0 (я знаю, что Java EE 5 поддерживает только JPA 1.0, но мы хотим использовать Hibernate как поставщик JPA)
      3. Hibernate 3.6.0 (у нас уже есть множество файлов hbm с произвольными типами и т.д., поэтому мы не хотим переносить их в это время в JPA. Это означает мы хотим, чтобы оба сопоставления jpa / hbm работали вместе и, следовательно, Hibernate как поставщик JPA вместо использования по умолчанию, который поставляется с приложением Server)

      Теперь проблема в том, что я хочу придерживаться локальных транзакций, но другие члены команды хотят использовать JTA. Я работал с J2EE последние 9 лет и снова и снова слышал, как люди предлагают придерживаться локальных транзакций, если мне не нужны двухфазные коммиты. Это не только из соображений производительности, но отладка / устранение неполадок локальной транзакции намного проще, чем JTA (даже если JTA выполняет только однофазную фиксацию, когда это необходимо).

      Мое предложение - использовать Spring декларативное управление транзакциями + локальные транзакции (HibernateTransactionManager ) вместо контейнера JTA

      Я хочу убедиться, что я параноик или у меня есть правильная точка зрения. Я хотел бы услышать, что думает остальной мир Java EE. Или укажите мне соответствующую статью.

6
задан Arjan Tijms 9 May 2013 в 14:58
поделиться