Ce este Hibernate?

Cunoscut oficial sub denumirea de Hibernate ORM, este un instrument de cadru relațional de obiecte sau cadru pentru limbajul de programare Java. Este software-ul gratuit sub GNU Lesser General Public License 2.1. Acesta își propune să ofere utilizatorului cadrul pentru a gestiona maparea impedanțelor relaționale obiecte. De asemenea, gestionează accesuri persistente la baze de date cu funcții de gestionare a obiectelor la nivel înalt. Este un cadru de Java midware folosit pentru maparea relațională obiect și pentru realizarea persistenței eficiente a obiectelor.

Arhitectură

Pentru a afla mai multe despre hibernare, trebuie să înțelegem arhitectura ei care cuprinde:

  • Un cod de aplicație Java constă din toate clasele, variabilele și obiectele care definesc logica de afaceri a aplicației. Aceste clase comunică cu Hibernatul.
  • Apoi vine Hibernate și principiile sale principale, folosind care am putea persista (stoca sau salva și recupera) obiectele claselor noastre de straturi de afaceri comunicând cu stratul serverului de baze de date.
  • Utilizează API-ul de bază Java, Java Database Connectivity (JDBC), Java Transaction API (JTA), Java Naming și Directory Interface (JNDI) pentru a comunica cu baza de date pentru a persista starea unui obiect executând citirea, crearea, actualizarea, ștergeți operațiile (CRUD).

Practic este utilizat pentru a comunica cu baza de date. Aici am creat doar câteva entități, care nu este altceva decât o clasă java care va crea o tabelă de date pentru noi în baza de date.

Cadru

Aici întâlnim o întrebare care este motivul pentru care folosim cadrul hibernat de java dacă avem deja principiile de bază ale Java. Iată răspunsul la asta:

  • Cele mai bune concepte JDBC folosite, cum ar fi:
  1. Rowset în loc de ResultSet
  2. DataSource (conectare de conexiuni) în loc de DriverManager
  3. Operațiuni de lot în loc de operațiune individuală
  4. PreparedStatement în loc de Declarație
  • Costul dezvoltării proiectului este redus la un factor important.
  • Nu există scurgeri de memorie
  • Administrarea asociațiilor, cum ar fi unul-la-mulți, etc, sunt simple și ușoare, în comparație cu lucrul cu proprietățile colecției, cum ar fi java.util.Set, List, Map.
  • Fiind un cadru ORM, Hibernate își va obține toate avantajele:
  • Acceptă memoria cache de nivelul al doilea
  • Obiectul devine o înregistrare și invers.
  • Suplimentează suplimentar limbajul de interogare a obiectelor (HQL)
  • Suporta mai multe generatoare de chei primare

Caracteristici ale Hibernate

Așadar, a fost vorba despre cadru de hibernare java și arhitectura sa, să vorbim despre caracteristicile celui mai recent stabil hibernat lansat acum 57 de zile adică 23 februarie 2019. Dezvoltat de software-ul Red Hat, este o platformă de mașini virtuale cu o mulțime de funcții:

  • Acceptă JMX și JCA.
  • Oferă o caracteristică de integrare J2EE.
  • La momentul inițializării sistemului generează SQL.
  • Opțional, furnizați conexiuni interne de conexiune și memorie în cache pregătită.
  • Acceptă blocarea optimistă cu versiunea.
  • Oferă îmbinare exterioară.
  • Introduce inițializarea Lazy.
  • Oferă memorie cache la nivel de sesiune și memorie cache la nivel secund opțional.
  • Oferă arhitectură în cache cu două straturi.
  • Generarea automată a cheii primare.
  • Susține conceptul dur de chei compuse.
  • Acceptă conceptul de obiect detașat.
  • Introduce conceptul de verificare murdară automată.
  • Oferă persistență transparentă fără procesarea codului de byte.
  • Oferă mapări obiecte / relaționale. Iată diferite strategii de mapare O / R ca obiecte multiple pentru maparea cu un singur rând,
  • Asocieri polimorfe, asociere bidirecțională, filtrarea asociațiilor. De asemenea, oferă documente de mapare XML.
  • Acesta oferă diferite limbaje de interogare orientate pe obiecte.
  • Limbaj de interogare Hibernate (HQL) orientat pe obiecte minime, interogări SQL native
  • Concept de criterii orientat pe obiecte ridicat.

De ce folosim Hibernate

Aici au fost toate cele mai recente caracteristici ale hibernării. Următoarea problemă este aceea de ce o folosim, așa că iată care sunt motivele pentru care preferăm să folosim hibernarea:

  • Managementul tranzacțiilor
  • Asociațiile
  • Moştenire
  • Hibernare în cache
  • versionare
  • Funcționalitatea auditului
  • Suport de adnotare JPA
  • Conexiune de conexiuni
  • Evitarea blocurilor de încercare
  • Evitați încărcarea leneșă
  • Reduce codul repetat

avantaje

Prezentând totul despre hibernare, acum este timpul să discutăm principala agendă care sunt avantajele și dezavantajele folosirii hibernării. Acoperind subiectul, să începem cu avantajele hibernării care sunt următoarele:

  1. ORM - întreținerea este ușoară și rentabilă.
  2. Persistență transparentă
  3. Independent de baza de date
  4. HQL - Caracteristicile avansate ale HQL precum paginarea și profilarea dinamică nu sunt prezente în SQL. Deci îl putem folosi în hibernare.
  5. Cache în două straturi
  6. Proprietate versiune
  7. Open Source și software gratuit
  8. Scalabilitatea este ușoară
  9. Lazy-Loading - Conceptul de încărcare leneșă preia doar obiectul necesar care este necesar pentru executarea unei aplicații.
  10. Usor de invatat
  11. De asemenea, acceptă colecții precum List, Set, Map.
  12. capacitatea de a genera chei primare
  13. Hibernate a furnizat clase de Dialect
  14. Sprijină relații precum One-To-Many, One-To-One, Many-To-Many-To-Many, Many-To-One

Dezavantaje

În ceea ce privește avantajele, hibernatul are de asemenea foarte puține dezavantaje. Iată dezavantajele hibernării:

  1. puțin mai lent decât JDBC pur
  2. problema codului plăcii cazanului
  3. generează multe declarații SQL în timp de execuție
  4. Hibernatul nu este potrivit pentru procesarea lotului
  5. Hibernarea este lentă deoarece folosește reflectarea timpului de rulare
  6. O mulțime de API de învățat
  7. Uneori, depanarea și reglarea performanței devin dificile.
  8. Nu este potrivit pentru proiecte mici
  9. Nu permite inserții multiple
  10. Generează dorințe complexe cu multe uniri
  11. Interogările HQL nu pot apela programul PL / SQL

Concluzie

Deci, cu toate aceste subiecte abordate, trebuie să știm și despre viitorul hibernării. Putem spune că Hibernate va fi în continuare instrumentul ORM dominant pentru mult mai mult, având în vedere că JPA este în pas rapid. Impresia mea este că Hibernate este cea mai utilizată implementare a JPA (înainte de OpenJPA și EclipseLink), și, de asemenea, că API-ul său autohton sau de bază este încă mai puternic decât JPA 2. Doar din aceste motive cred că va fi în jur de mult timp. timp. Este foarte preferabil să folosiți Spring MVC în hibernare, deoarece este cel mai compatibil MVC. Utilizarea unui cadru de persistență precum Hibernate permite dezvoltatorilor să se concentreze pe scrierea codului de logică de afaceri, în loc să scrie un strat de persistență corect și bun, care include scrierea interogărilor SQL, cod JDBC, gestionarea conexiunilor etc. Așadar, pot sugera utilizarea hibernate ca cadru java ca este cel mai proeminent cadru java folosit în zilele noastre.

Articole recomandate

Acesta a fost un ghid pentru Ce este Hibernate. Aici discutăm despre Arhitectură, Caracteristici, Cadru, Avantaje și Dezavantaje ale Hibernării. De asemenea, puteți arunca o privire la următoarele articole pentru a afla mai multe -

  1. Întrebări la interviu Hibernate
  2. Ce este NumPy?
  3. Ce este coșul deschis?
  4. Struts 2 Întrebări de interviu
  5. Convenții de denumire Java