Wiem co to robi, tylko nie rozumiem dlaczego czasami niektóre encje zamykają połączenie i potrzebują tej adnotacji a niektóre nie.
0
0
Co to znaczy "niektóre encje zamykają połącznie" ? Z tego co widziałem zawsze korzysta się z @Transactional dopóki nie zaczniemy ręcznie zarządzac transakcjami...
0
scibi92 napisał(a):
Co to znaczy "niektóre encje zamykają połącznie" ? Z tego co widziałem zawsze korzysta się z @Transactional dopóki nie zaczniemy ręcznie zarządzac transakcjami...
Tzn. wszędzie dopisujesz @Transactional
? czy uważasz, że domyślnie tak działa?
W moim projekcie musiałem dodać @Transactional
przy niektórych encjach, bo się wywalały, że brak proxy i no session. A przy innych działa bez dodawania @Transactional
. Pomaga też dopisanie w ustawieniach: spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
1
- Używać tam gdzie... potrzebujesz transakcji! Tam gdzie wykonujesz kilka operacji na bazie, które muszą być wykonane razem albo wcale
- Jeśli masz autocommit w połączeniu z bazą to wtedy wykonywanie jednej operacji nie wymaga definiowania transakcji jako takiej