utworzone przez Krzysztof Kądziołka | Hibernate, Java, Sieci, Tip and Tricks
Tworząc systemy, które wymieniają dane z bazą danych, chcesz, aby komunikacja była niezawodna.
Możesz wykonywać operacje, które mogą być krótkie, ale za to częste, a może będziesz wykonywał takie, które są bardzo długie.
Operacje są wykonywane w ramach nawiązanego wcześniej połączenia do bazy.
Użytkowników systemu przeważnie jest wielu, a ich sesje powinny być niezależne.
W pewnym momencie może się zdarzyć, że użytkownik nie będzie mógł wykonać jakiejś operacji,
ponieważ baza danych odrzuci kolejne połączenie ze względu na jakiś limit.
Ale przez odpowiednią konfigurację możesz zoptymalizować szybkość działania Systemu w zakresie dostępu do nawiązanego
połączenia do bazy danych.
utworzone przez Krzysztof Kądziołka | Hibernate, Java, Tip and Tricks
W Hibernate wiele operacji wykonywanych jest „auto magicznie”. Nie znając specyfiki, możesz doprowadzić do spadku wydajności.
Jeśli poznasz i zrozumiesz zasady działania, będziesz w stanie poprawić wydajność operacji związanych z komunikacją z bazą danych.
Wiedząc jak włączyć monitorowanie, zweryfikujesz czy zapytania wysyłane do bazy danych są tymi, których się spodziewałeś.
Jak działa Lazy-Loading? Jak obsłużyć operacje masowe? Czym jest problem N+1?
utworzone przez Krzysztof Kądziołka | Hibernate, Java, Spring Framework
Transakcje są potężnym narzędziem, pozwalają nam na zaaplikowanie zmian w rozproszonej logice w jednym momencie. Zapewniają to, że wszystkie zmiany w danych zostaną zaaplikowane razem albo wcale. Modyfikując dane w wielu krokach, narazimy się na ryzyko posiadania niespójnych danych, jeżeli nie użyjemy transakcji. Jednakże transakcji należy używać świadomie i z rozsądkiem.