Я разрабатываю веб-приложение на основе JPA + Hibernate, Spring и Wicket. Мне было интересно, как лучше всего реализовать транзакции в моем коде? Какой менеджер транзакций я должен использовать? Должно ли это быть org.springframework.orm.jpa.JpaTransactionManager
, или org.springframework.jdbc.datasource.DataSourceTransactionManager
или что-то еще? Я бы хотел использовать Spring для управления моими транзакциями.Какой менеджер транзакций использовать? (JPA, Spring)
12
A
ответ
19
nanda is right, вы можете использовать только JpaTransactionManager. Абстракция Transaction Manager, о которой мы говорим, это интерфейс Spring PlatformTransactionManager, а JPATransactionManager - единственная реализация этого интерфейса, которая понимает JPA.
Вы должны прочитать главу Transaction Management из справочника Spring, чтобы лучше понять эту тему.
6
org.springframework.orm.jpa.JpaTransactionManager
Я предпочитаю использовать это с аннотацией:
<tx:annotation-driven transaction-manager="myTxManager" />
1
Интерфейс org.springframework.transaction.PlatformTransactionManager - это ключевая абстракция в API Spring, обеспечивающая основные методы контроля транзакций во время выполнения: начало, фиксация и откат.
PlatformTransactionManager интерфейс, его реализации
- JtaTransactionManager ----->ЕТА
- DataSourceTransactionManager ----->JDBC
- JpaTransactionManager ------>JPA
- HibernateTransactionManager ------>Hibernate
это depand на ваше требование, которое Moudle весной ваш используют
Смежные вопросы
- 1. , какой менеджер транзакций я должен использовать (JTA против JPA)?
- 2. Spring JPA - Инъекция менеджер транзакций против инъекционного менеджер лица
- 3. Настройка Spring + Hibernate JPA Менеджер транзакций через JTA
- 4. Какой менеджер транзакций (JTA) следует использовать для изучения Hibernate?
- 5. Весенний менеджер транзакций LDAP
- 6. Какой менеджер транзакций по умолчанию использует @Transactional?
- 7. Какой менеджер транзакций следует использовать для шаблона JBDC При использовании JPA?
- 8. Spring 3 Менеджер транзакций JDBC не работает
- 9. Внешний менеджер транзакций для Activiti
- 10. Менеджер транзакций на платформе весной
- 11. Менеджер транзакций для тестов
- 12. Activiti + Hibernate: обычный менеджер транзакций
- 13. Spring JPA никаких транзакций не производится
- 14. Весенний менеджер транзакций
- 15. OAUTH2 менеджер транзакций grails mongodb
- 16. Весенний менеджер транзакций и многопоточность
- 17. Менеджер транзакций отключил поддержку удаленных/сетевых транзакций
- 18. Spring/Hibernate 4 (не JPA)/Infinispan/Atomikos не найден менеджер транзакций
- 19. Spring rabbitMQ - операторы транзакций и транзакций
- 20. Spring JPA репозиторий не работает с двумя менеджерами транзакций
- 21. Spring Datasource менеджер транзакций: transactionality через несколько экземпляров приложения
- 22. Web-приложений и менеджер транзакций установки
- 23. Весенний менеджер транзакций (стиль аннотации) Ошибка выполнения
- 24. Как использовать перехватчик объектов Hibernate с менеджером транзакций JPA?
- 25. JPA: несколько транзакций
- 26. JPA Несколько менеджеров транзакций
- 27. Mule: Менеджер транзакций для подпотока
- 28. Есть ли способ определить менеджер транзакций по умолчанию весной
- 29. Весенний пакетный менеджер транзакций для двух баз данных
- 30. Ошибка создания боб весной Менеджер транзакций
ок, спасибо большое, ребята! –
+1 для вашего за полноту и +1 для nanda тоже, чтобы быть справедливым :) –
@SeanPatrickFloyd Если мы можем использовать JpaTransactionManager только тогда, почему весной так много других transacitonManagers и когда они должны использоваться? – Erlan