Hibernacja sesji - Metody i zalety sesji hibernacji

Spisie treści:

Anonim

Wprowadzenie do sesji hibernacji

Istnieje wiele obiektowych języków programowania posiadających własne składnie i biblioteki, podczas gdy z drugiej strony całe dane, które przechowujemy w backendie, oparte są na modelu relacyjnym mającym zupełnie inne protokoły i składnie, których należy przestrzegać. Hibernacja to jedna z platform oprogramowania pośredniego, która wypełnia tę lukę. Ta aplikacja oprogramowania pośredniego nazwałem Object Relational Mapping (ORM). Mamy różne narzędzia ORM, takie jak Hibernacja, IBatis, Toplink i wiele innych. W tym artykule skupimy się na Hibernacji i jej sesjach.

Co to jest Hibernacja?

Jest to narzędzie ORM służące do łączenia i mapowania obiektów w warstwie aplikacji do bazy danych dla języka programowania JAVA. Został zbudowany w celu obsługi niedopasowania impedancji między typowym językiem programowania a relacyjną bazą danych. Jest to bezpłatne oprogramowanie z licencją GNU, które można łatwo pobrać z Internetu.

Hibernacja jest rozszerzeniem interfejsu API trwałości JAVA. Obsługuje język zapytań Hibernacja (HQL). Główną rolą Hibernate jest łączenie obiektów i klas JAVA z klasami baz danych za pomocą struktury XML lub adnotacji JAVA. Podobnie typy danych JAVA powinny być dopasowane do typów danych bazy danych, aby zapewnić nieporozumienia między dwoma różnymi systemami. Hibernacji można użyć do wyodrębnienia danych za pomocą zapytań. Może generować wywołania SQL, a tym samym łagodzić błędy ręczne i pracę programisty. W hibernacji dostępne są różne wbudowane funkcje, takie jak:

load (), update (), get (), merge (): Jeśli jesteśmy pewni, że obiekt istnieje, używamy tej funkcji do ładowania obiektu hibernacji, w przeciwnym razie używamy funkcji get (). Funkcje aktualizacji i scalania służą do aktualizacji rekordów bazy danych na podstawie istniejących już sesji lub jesteśmy całkowicie nowymi sesjami dla transakcji. Istnieje wiele innych funkcji obsługujących hibernację.

Co to jest sesja hibernacji?

Jest to interfejs wykonawczy między aplikacją a Hibernates, który jest tworzony na żądanie. Innymi słowy, zapewnia łączność między aplikacją a bazą danych. Oferuje różne funkcje, takie jak tworzenie, usuwanie, pobieranie, aktualizacja do działania w bazie danych przy użyciu metod sesji, które istnieją w czterech stanach: przejściowy, trwały i odłączony, usunięty.

Hibernacja została stworzona w tym celu. Bezproblemowo łączy bazę danych z językiem Java bez względu na bazę danych. Ma elastyczne funkcje, a tym samym zapewnia elastyczność przetwarzania danych na różnych platformach.

Metody sesji hibernacji

  1. Save (): Metoda Save () generuje klucz podstawowy i wstawia rekord do bazy danych. Jest podobny do metody persist () w JPA, ale zachowuje się inaczej w odłączonej instancji, tworząc duplikat rekordu po zatwierdzeniu bazy danych.
  2. Update (): Update () służy do aktualizacji istniejącego rekordu bazy danych. Zwraca wyjątek, jeśli rekord nie został znaleziony lub wywołany w instancji przejściowej.
  3. saveOrUpdate (): Zapisuje lub aktualizuje bazę danych na podstawie przekazanego obiektu. Nie zwraca wyjątku w stanie przejściowym, ale powoduje, że stan jest trwały podczas operacji na bazie danych.
  4. merge (): Wartości z odłączonego obiektu są aktualizowane do bazy danych, gdy używana jest funkcja merge () poprzez zmianę odłączonego obiektu na stan trwały.
  5. delete (): Metoda usuwania działa w trybie trwałym w celu usunięcia obiektu z bazy danych. Zwracany jest wyjątek, jeśli w bazie danych nie znaleziono żadnego rekordu.

Jak utworzyć sesję hibernacji?

Aby utworzyć sesję hibernacji, musimy załadować zależności hibernacji do biblioteki narzędzia, którego używasz wraz ze złączem bazy danych. Po załadowaniu tych bibliotek możemy nawiązać połączenie, tworząc sesję za pomocą fabryki sesji.

Załóżmy, że mamy tabelę z dwiema kolumnami: Identyfikator pracownika i Nazwisko pracownika, które należy zaktualizować.

Fragment kodu:

import.org.hibernate.session // W ten sposób możemy zaimportować klasę hibernacji do programu głównego.
klasa publiczna testclasshibernate // deklaracja klasy.
(
public static void main (string () args) // Główne wykonanie programu powinno rozpocząć się od tego miejsca.
(
testprogram = nowy program (); // Tutaj klasa jest zobiektywizowana, a następnie ten obiekt służy jako odniesienie do przesłania wartości, takich jak nazwa pracownika i identyfikator pracownika, które należy zaimportować do tabeli bazy danych.
program.setEmpId (101);
program.setEmpName („Użytkownik1”);
Konfiguracja con = nowa Config (). Config (). AddAnnotedClass testclasshibernate;
// Utwórz fabrykę sesji przy użyciu konfiguracji
SessionFactory sf1 = con.buildsessionfactory ();
// Metoda otwartej sesji daje obiekt sesji.
Sesja s1 = sf.OpenSession ();
// Otwarcie transakcji
Transakcja t1 = session.beginTransaction ();
session.save (testprogram);
tx.commit ();
)
)

Zalety sesji hibernacji

  • Sesja hibernacji jest zgodna z właściwościami bazy danych ACID (Atomowość, Spójność, Izolacja i Trwałość).
  • Odwzorowanie obiektów jest spójne, a zatem zmniejsza wiele potencjalnych błędów i luk w kodzie.
  • Jest niezależny od bazy danych, więc nawet jeśli istnieje jakakolwiek baza danych, taka jak mySQL lub Oracle, można użyć tego oprogramowania.
  • Nie musisz znać SQL, tylko podstawowa wiedza na jego temat powinna pomóc ci zrozumieć, jak działa.
  • Łatwe tworzenie skojarzeń i wiele wskazówek dostępnych w sieci. Java powszechnie używana w powiązaniu z bazą danych w sieci może c = jak najlepiej wykorzystać to oprogramowanie, jeśli jest używane mądrze.
  • Minimalne zmiany kodu, gdy są jakieś zmiany w tabelach, ponieważ wszystko jest obsługiwane przez klasę i obiekty. Większość kodu i funkcjonalności ma charakter ogólny, co czyni go bardziej godnym użycia w aplikacjach, które mają dużą zależność od danych transakcyjnych.
  • Hibernacja obsługuje wielopoziomowe buforowanie, co poprawia wydajność kodowania.

Wniosek

Wystąpiła historyczna rozbieżność danych w bazie danych i danych przetwarzanych za pomocą dowolnego języka programowania poza bazą danych. Aby rozwiązać ten problem, opracowano nowe rozwiązanie o nazwie „ORM”. Dane przechowywane w formie tabelarycznej w bazie danych można teraz odzyskać z bazy danych i mogą być przetwarzane w postaci obiektów w języku programowania, co eliminuje użycie zapytań SQL.

Polecane artykuły

To jest przewodnik po sesji hibernacji. Tutaj omawiamy, czym jest sesja hibernacji i hibernacji? wraz z metodami i zaletami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. Hibernacja vs WZP
  2. Co to jest CSRF?
  3. Spring vs Spring Boot
  4. Hibernacja vs JDBC