Pracuję nad aplikacją internetową opartą na JPA + Hibernate, Spring i Wicket. Zastanawiam się, jaki jest najlepszy sposób realizacji transakcji w moim kodzie? Jakiego menedżera transakcji powinienem użyć? Czy powinien to być org.springframework.orm.jpa.JpaTransactionManager
lub org.springframework.jdbc.datasource.DataSourceTransactionManager
lub coś innego? Chciałbym użyć Springa do zarządzania moimi transakcjami.Jakiego menedżera transakcji użyć? (JPA, Spring)
12
A
Odpowiedz
19
nanda is right, ty może używać tylko JpaTransactionManager. Omówieniem abstrakcji Transaction Manager jest tutaj interfejs Spring PlatformTransactionManager, a JPATransactionManager to jedyna implementacja tego interfejsu, który rozumie WZP.
Powinieneś przeczytać rozdział Transaction Management z odnośnika Wiosna, aby lepiej zrozumieć ten temat.
6
org.springframework.orm.jpa.JpaTransactionManager
Moje preferencja jest użycie tego z dopiskiem:
<tx:annotation-driven transaction-manager="myTxManager" />
1
Interfejs org.springframework.transaction.PlatformTransactionManager jest kluczową abstrakcją w Spring API, zapewniającą podstawowe metody kontrolowania operacji transakcji w czasie wykonywania: begin, commit i rollback.
PlatformTransactionManager interfejsu, implementacji
- JtaTransactionManager ----->JTA
- DataSourceTransactionManager ----->JDBC
- JpaTransactionManager ------>JPA
- HibernateTransactionManager ------>Hibernate
to depand na requirment który moudle wiosny swój korzystania
ok, wielkie dzięki chłopaki! –
+1 za twoją kompletność i +1 za nandę też za sprawiedliwość :) –
@SeanPatrickFloyd Jeśli możemy używać tylko JpaTransactionManager, to dlaczego na wiosnę jest tak wielu innych menedżerów TransacitonManager i czy powinny one zostać użyte? – Erlan