Czy da się w Springu ręcznie zarządzać transakcjami? Chodzi mi o nieużywanie @Transactional
tylko jakiegoś EntityManager
a z getTransacion()
, commit()
itd.
Niezła patologia. Na szybko to nawet nie da się zgooglać materiałów o JPA bez Springa. W starym dobrym Hibernate można było ręcznie utworzyć transakcje. Możliwe że dalej jest to możliwe jak wyciągniesz obiekt sesji. Dla interfejsu JPA nie umiem tego znaleźć
Transakcjami zajmuje się TransactionManager, którego spring przykrywa swoją magią i nie ważne czy @deklaratywnie czy programowo, to i tak rafia do TransactionManagera.
Szybkie google: https://www.marcobehler.com/guides/spring-transaction-management-transactional-in-depth
KamilAdam napisał(a):
Niezła patologia. Na szybko to nawet nie da się zgooglać materiałów o JPA bez Springa.
To słabo szukasz, 3 wynik.
No i jak wyżej, polecam korzystać z TransactionTemplate. Jest łatwy w użyciu, a dodatkowo obsługuje nie tylko JPA.
Tak jak napisał @yarel i @scibi_92 - Spring trzyma wszelkiego rodzaju obiekty typu EntityManager
czy TransactionManager
w kontekście - wystarczy wyciągnąć BeanFactory
i wylistować. Nie dla osób o słabych nerwach ;)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.