Kiedy używać @Transactional?

0

Wiem co to robi, tylko nie rozumiem dlaczego czasami niektóre encje zamykają połączenie i potrzebują tej adnotacji a niektóre nie.

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
  1. Używać tam gdzie... potrzebujesz transakcji! Tam gdzie wykonujesz kilka operacji na bazie, które muszą być wykonane razem albo wcale
  2. Jeśli masz autocommit w połączeniu z bazą to wtedy wykonywanie jednej operacji nie wymaga definiowania transakcji jako takiej

1 użytkowników online, w tym zalogowanych: 0, gości: 1