Sesiune hibernată - Metode și avantaje ale sesiunii hibernate

Cuprins:

Anonim

Introducere în sesiunea de hibernare

Există multe limbaje de programare orientate pe obiecte care au propriile lor sintaxe și biblioteci, în timp ce, pe de altă parte, toate datele pe care le stocăm în backend se bazează pe modelul relațional având protocoale și sintagme complet diferite de urmat. Hibernate este una dintre platformele de tip middleware pentru a reduce acest decalaj. Această aplicație de middleware am numit-o Map Relational Object (ORM). Avem diverse instrumente ORM precum Hibernate, IBatis, Toplink și multe altele. În acest articol, ne vom concentra pe Hibernate și sesiunile sale.

Ce este Hibernate?

Este instrumentul ORM utilizat pentru conectarea și maparea obiectelor din stratul de aplicație la baza de date pentru limbajul de programare JAVA. Este construit pentru a gestiona nepotrivirea impedanței dintre un limbaj de programare tipic și baza de date relațională. Este fără software cu cost cu licență GNU, poate fi descărcat cu ușurință de pe internet.

Hibernate este o extensie a API-ului de persistență JAVA. Suporta limbajul de interogare Hibernate (HQL). Rolul principal al lui Hibernate este de a lega obiectele și clasele JAVA la clasele bazei de date prin structura XML sau adnotările JAVA. În mod similar, tipurile de date ale JAVA ar trebui să fie corelate cu tipurile de date ale bazei de date, astfel încât să existe o comunicare greșită între două sisteme diferite. Hibernatul poate fi utilizat pentru extragerea datelor folosind interogări. Poate genera apeluri SQL și, prin urmare, atenuează erorile manuale și activitatea dezvoltatorului. Există diferite funcții încorporate în hibernare pentru o ușurință de utilizare cum ar fi:

load (), actualizare (), get (), merge (): Dacă suntem siguri că acel obiect există, atunci utilizăm această funcție pentru a încărca obiectul hibernat, altfel vom folosi funcția get (). Funcțiile de actualizare și îmbinare sunt folosite pentru a actualiza înregistrările bazei de date pe baza sesiunilor curente deja existente sau suntem sesiuni complet noi pentru tranzacție. Există multe alte funcții ca aceasta pentru a sprijini hibernarea.

Ce este sesiunea hibernată?

Este o interfață de rulare între o aplicație și Hibernates, care este creată la cerere. Cu alte cuvinte, oferă conectivitatea dintre aplicația dvs. și baza de date. Acesta oferă diverse funcții, cum ar fi crearea, ștergerea, obținerea, actualizarea pentru a opera pe baza de date prin utilizarea metodelor de sesiune care există în patru stări și anume: tranzitorii, persistente și detașate, eliminate.

Hibernate a creat acest scop. Conectează fără probleme baza de date la limbajul java indiferent de baza de date. Este livrat cu funcții flexibile și promovează astfel flexibilitatea manipulării datelor pe diferite platforme.

Metode de sesiune hibernantă

  1. Metoda Save (): Metoda Save () generează cheia primară și introduce înregistrarea în baza de date. Este similară cu metoda persist () în JPA, dar se comportă diferit într-o instanță detașată creând înregistrarea duplicată la angajarea bazei de date.
  2. Update (): Update () este utilizat pentru a actualiza înregistrarea bazei de date existente. Întoarce o excepție dacă înregistrarea nu este găsită sau apelată într-o instanță tranzitorie.
  3. saveOrUpdate (): Salvează sau actualizează baza de date pe baza entității trecute. Nu returnează o excepție în starea tranzitorie, dar face ca statul să persiste în timpul unei operațiuni a bazei de date.
  4. merge (): valorile de la o entitate detașată sunt actualizate la baza de date atunci când combinarea () este utilizată schimbând entitatea detașată în starea persistentă.
  5. delete (): Metoda de ștergere funcționează în modul persistent pentru a elimina entitatea din baza de date. O excepție este returnată dacă nu există nicio înregistrare în baza de date.

Cum să creați o sesiune de hibernare?

Pentru a crea o sesiune de hibernare, trebuie să încărcăm dependențe de hibernare în biblioteca instrumentului pe care îl utilizați împreună cu conectorul bazei de date. Odată încărcate aceste biblioteci, putem stabili conexiunea prin crearea unei sesiuni folosind fabrica de sesiuni.

Să presupunem că avem un tabel cu două coloane: ID-ul angajaților și numele angajatului care ar trebui actualizate.

Fragment de cod:

import.org.hibernate.session // În acest fel, noi importăm clasa hibernare în programul principal.
public class testclasshibernate // declarație de clasă.
(
public static void main (string () args) // Execuția principală a programului va începe de aici.
(
testprogram = program nou (); // Aici este obiectivată clasa și apoi acest obiect este utilizat ca referință pentru a trimite valorile precum numele angajatului și ID-ul angajatului care trebuie importat în tabelul bazei de date.
program.setEmpId (101);
program.setEmpName ( „Utilizator1“);
Configuration con = new Config (). Configure (). AddAnnededClass testclasshibernate;
// Creați fabrica de sesiuni folosind configurația
SessionFactory sf1 = con.buildsessionfactory ();
// Metoda sesiunii deschise oferă obiectul sesiunii.
Sesiune s1 = sf.OpenSession ();
// Deschiderea tranzacției
Tranzacție t1 = session.beginTransaction ();
session.save (testprogram);
tx.commit ();
)
)

Avantajele sesiunii de hibernare

  • Sesiunea de hibernare respectă proprietățile ACID (Atomicity, Consistency, Isolation and Durability).
  • Maparea obiectelor sale este consecventă și reduce astfel o mulțime de erori potențiale și lacune din cod.
  • Este independent de baza de date, deci chiar dacă există o bază de date precum mySQL sau oracle, acest software poate fi utilizat.
  • Nu este necesar să cunoașteți SQL numai cunoștințele de bază de pe acesta ar trebui să vă ajute să înțelegeți cum funcționează.
  • Asociații ușor de creat și multe îndrumări prezente pe net. Java fiind utilizat pe scară largă cu o asociere la o bază de date de pe net poate c = să utilizeze la maxim acest software dacă este utilizat cu înțelepciune.
  • Codul minim se schimbă atunci când există modificări la tabele, deoarece totul este gestionat prin clasă și obiecte. Cele mai multe dintre coduri și funcționalități sunt generice, ceea ce îl face mai demn de utilizat în aplicații care are multă dependență de datele tranzacționale.
  • Hibernate acceptă cache-ul pe mai multe niveluri, îmbunătățind astfel eficiența codării.

Concluzie

A existat o discrepanță istorică a datelor bazei de date și a datelor gestionate prin orice limbaj de programare din afara bazei de date. Pentru a rezolva această soluție, a fost proiectată o nouă soluție numită „ORM”. Datele care sunt stocate sub formă de tabel într-o bază de date pot fi preluate din baza de date și pot fi gestionate sub formă de obiecte în limbajul de programare și, prin urmare, eliminarea utilizării interogărilor SQL.

Articole recomandate

Acesta este un ghid pentru Hibernate Session. Aici discutăm despre ce este sesiunea de hibernare și hibernare? împreună cu metodele și avantajele. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Hibernate vs JPA
  2. Ce este CSRF?
  3. Cizme de primăvară vs primăvară
  4. Hibernate vs JDBC