Tutorial Hibernare pentru începători

Publicat: 2022-09-26

Hibernate cu sursă deschisă este un cadru Java OOP gratuit utilizat în aplicațiile web pentru maparea modelelor de domenii orientate pe obiecte cu baze de date relaționale.

Se poate folosi HQL și SQL pentru a interoga bazele de date și pentru a permite maparea robustă a relației obiectelor. Cu toate acestea, implementarea maparii ORM în Java se simplifică cu Hibernate, reducând complexitățile semnificative ale aplicației dvs. și este benefică pentru persoanele care posedă o înțelegere fundamentală a SQL.

Consultați cursurile noastre gratuite legate de dezvoltarea de software.

Cuprins

Explorați cursurile noastre gratuite de dezvoltare software

Fundamentele cloud computing Noțiuni de bază JavaScript de la zero Structuri de date și algoritmi
Tehnologia blockchain Reacționează pentru începători Bazele de bază ale Java
Java Node.js pentru începători JavaScript avansat

Arhitectura lui Hibernate

Configurația Hibernate este de obicei stocată în secțiunea de proprietăți sau în fișierele hibernate.cfg.xml. Când căutați configurația Java, căutați clasele marcate cu adnotarea @Configuration.

Pentru a începe să lucrați cu o aplicație Java și o bază de date, începeți cu Session Factory. Obiectul reprezintă întreaga colecție de mapări între tipurile Java ale unei aplicații și o bază de date SQL.

Session Factory

Orice aplicație utilizator poate solicita un obiect de sesiune contactând Session Factory. Session Factory folosește informațiile de configurare incluse în fișiere pentru a crea obiectul de sesiune. Interacțiunile aplicației și bazei de date în momente diferite sunt incluse într-o sesiune, iar o clasă de sesiune reprezintă acest lucru.

Interogare

Programele de aplicație pot interoga baza de date pentru unul sau mai multe elemente stocate folosind limbajul de interogare. Hibernate oferă o varietate de abordări, inclusiv NamedQuery și Criteria API, pentru a interoga bazele de date.

Cache de prim nivel

Cache-ul utilizat de obiectul Hibernate Session care comunică cu baza de date la primul nivel se numește cache de prim nivel, cunoscut și sub numele de cache de sesiune. Este responsabil pentru stocarea în cache a elementelor din sesiunea curentă. Fiecare solicitare de la obiectul Session către baza de date trebuie să călătorească prin cache-ul de prim nivel sau cache-ul sesiunii înainte de a ajunge la baza de date. Prin urmare, este esențial să observați că cache-ul de prim nivel rămâne accesibil cu obiectul sesiune până când acesta nu mai este activ.

Tranzacții

Tranzacțiile permit stabilirea coerenței datelor cu posibilitatea de a derula înapoi dacă ceva nu merge bine.

Obiecte persistente

Obiectele persistente sunt obiecte tradiționale Java (POJO) salvate în baza de date ca rânduri în tabelul legat de cadrul Hibernate. Fișierele de configurare Hibernate fie configurează aceste obiecte, fie le marchează cu adnotarea @Entity.

Cache de al doilea nivel

Cache-ul de al doilea nivel ține evidența lucrurilor pe parcursul mai multor sesiuni. Activați și furnizați furnizorului de cache să folosească memoria cache de nivel al doilea. De exemplu, EhCache este un furnizor popular de cache de nivel doi în multe aplicații.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Explorați cursurile noastre populare de inginerie software

Master în Informatică de la LJMU și IIITB Programul de certificat de securitate cibernetică Caltech CTME
Bootcamp pentru dezvoltare completă Programul PG în Blockchain
Program Executive PG în Full Stack Development
Vezi mai jos toate cursurile noastre
Cursuri de Inginerie Software

Caracteristicile cheie ale cadrului Hibernate

Hibernate este un cadru de mapare a obiectelor de domeniu Java conceput pentru a gestiona tabelele bazei de date. Cadrul simplifică lucrul la elementele bazei de date folosind obiecte Java mai degrabă decât instrucțiuni SQL. În plus, gestionarea tranzacțiilor, crearea automată a cheilor primare, gestionarea conexiunilor la baze de date și implementările asociate contribuie la procesul de dezvoltare.

Standardul Java Persistence API (JPA) este acceptat de furnizorul JPA Hibernate. Este o colecție de standarde pentru accesarea, stocarea și gestionarea datelor. Se poate folosi în continuare avantajul obiectelor Java și se poate conecta cu entitățile de baze de date relaționale pentru a asigura suport complet JPA.

Înaltă performanță și scalabilitate

În timp ce Hibernate se poate dezvolta în orice mediu, oferă o gamă largă de funcții de îmbunătățire a performanței, cum ar fi blocarea optimistă, inițializarea leneșă și alte câteva tehnici.

Simplu de ținut pasul

Deoarece Hibernate nu are nevoie de structuri sau atribute personalizate de baze de date, poate deveni dificil de gestionat. Acesta creează SQL în timpul pornirii sistemului. Cu toate acestea, în comparație cu JDBC, este mai ușor de întreținut.

Clase precum AnnotationConfiguration, ServiceRegistryBuilder și altele au fost depreciate rapid în versiunile anterioare Hibernate.

Abilități de dezvoltare software la cerere

Cursuri JavaScript Cursuri de bază Java Cursuri de Structuri de Date
Cursuri Node.js Cursuri SQL Cursuri de dezvoltare full stack
Cursuri NFT Cursuri DevOps Cursuri de Big Data
Cursuri React.js Cursuri de securitate cibernetică Cursuri de cloud computing
Cursuri de proiectare baze de date Cursuri Python Cursuri de criptomonede

Conceptele de entități, egalitate și identitate

Hibernate oferă concepte suplimentare pentru a compara obiecte sau caracteristici pentru a satisface reguli precise de afaceri. Pe lângă cunoștințele preexistente privind verificarea egalităților în nucleul Java, conceptele Hibernate sunt la fel de importante de mapat.

1. Mapări de asociere între entitățile Hibernate

Când două entități sunt conectate și se face referire într-un mod unidirecțional sau bidirecțional, utilizați adnotări JPA pentru a adnota clasele java și a le transforma în entități permanente. În primul rând, totuși, este crucial să înțelegem câteva concepte fundamentale înainte de a genera referințe între entitățile Hibernate.

2. Entitatea/Persistența sunt două lucruri diferite

O instanță de obiect mapată Hibernate poartă una dintre cele patru stări: tranzitorie, permanentă, detașată sau ștearsă, în funcție de starea instanței obiectului în cauză.

3. Tipuri în cascadă în Hibernate și JPA

Proprietatea „CascadeType” este utilizată în entități pentru a activa efectele în cascadă și inverse. Există mai multe tipuri de opțiuni în cascadă accesibile prin CascadeType.

Citiți articolele noastre populare legate de dezvoltarea software

Cum se implementează abstracția datelor în Java? Ce este clasa interioară în Java? Identificatori Java: definiție, sintaxă și exemple
Înțelegerea încapsulării în OOPS cu exemple Argumentele liniei de comandă în C explicate Top 10 caracteristici și caracteristici ale cloud computing-ului în 2022
Polimorfismul în Java: concepte, tipuri, caracteristici și exemple Pachete în Java și cum să le folosiți? Tutorial Git pentru începători: Învață Git de la zero

Avantajele Hibernate Annotations vs Mappings

Înainte de adnotările inline, singura metodă de a crea mapări Hibernate erau fișierele XML. Chiar dacă diferite instrumente din Hibernate și proiecte terță parte au permis producerea automată de mapări din sursa Java, acesta nu a fost cazul.

Adnotările sunt cele mai actuale mapări definite, dar nu cele mai eficiente.

Iată câteva avantaje ale adnotărilor Hibernate (sau, mai precis, JPA).

Hibernate Query Language [HQL] este un limbaj de interogare pentru Hibernate

HQL are asemănări cu limbajul de interogare orientat pe obiecte SQL. Funcționarea sa pe obiecte permanente, mai degrabă decât pe tabele și coloane, prezintă funcționalitatea unui limbaj de interogare puternic.

JPQL, sau Java Persistence Query Language, este un superset. Prin urmare, o interogare JPQL validă este considerată o interogare HQL bună. Cu toate acestea, nu toate interogările HQL valide sunt interogări JPQL valide și invers.

Interogări pentru criteriile de hibernare

Folosind API-ul Criteria Query, este posibil să construiți expresii de interogare imbricate, structurate în Java, permițând verificarea sintaxei la compilare, care nu poate fi realizată cu un limbaj de interogare precum HQL sau SQL. Pe lângă funcționalitatea de interogare prin exemplu (QBE), API-ul Criteria conține și alte funcții.

De exemplu, furnizarea de instanțe de obiect care posedă caracteristicile dorite, mai degrabă decât explicarea componentelor căutării dvs. pas cu pas, poate economisi timp și efort. De asemenea, conține tehnici de proiecție și agregare, cum ar fi metoda numărării ().

Configurarea Hibernate EhCache

Caracteristica de stocare în cache oferită de cadrele ORM permite utilizatorilor să aibă o aplicație web cu rulare rapidă, permițând în același timp cadrului să scadă interogările făcute în baza de date pentru o singură tranzacție. Memorarea în cache este utilă pentru utilizatori și pentru cadrul. Hibernate extinde stocarea în cache atât la primul cât și la al doilea nivel al ierarhiei.

Concluzie

Software-ul Hibernate este considerat un cadru foarte funcțional pentru toate lucrurile Java. În acest tutorial Hibernate, am acoperit elementele de bază ale utilizării Hibernate.

Dacă doriți să aflați în profunzime despre cadrul Hibernate și să înțelegeți fluxul fundamental de aplicații end-to-end care rezultă din integrarea cu framework-ul Spring 3, vă recomandăm să vă alăturați programului Executive PG al upGrad în Full Stack Development .

Cursul de 13 luni este conceput pentru dezvoltatorii de software, profesioniștii IT, inginerii, analiștii, profesioniștii de asistență tehnică și cei care doresc să dezvolte o bază în bazele informaticii, operațiuni de dezvoltare software, construirea de site-uri web scalabile, API-uri backend etc.

Programul include peste 10 instrumente și limbaje de programare, peste 7 studii de caz și proiecte, tabere de pregătire și acces la Data Science și Machine Learning.

Nu aştepta. Rezervă-ți locul astăzi!

Cum se creează o SessionFactory în cadrul Hibernate?

Orice aplicație utilizator poate solicita un obiect de sesiune contactând Session Factory. Session Factory folosește informațiile de configurare din fișiere pentru a crea obiectul de sesiune în mod corespunzător.

Cum se configurează Hibernate Connection Pooling and Caching?

Hibernate, în mod implicit, folosește conexiunile JDBC pentru a comunica cu un sistem de baze de date. Cu toate acestea, crearea acestor conexiuni este consumatoare de timp, costisitoare și probabil cea mai costisitoare activitate pe care Hibernate o va face într-un scenariu de utilizare tipic. Având în vedere costul ridicat al gestionării conexiunilor JDBC, puteți folosi grupul de conexiuni, care stabilește relații din timp.

Ce este o clasă persistentă în Java?

Orice clasă care aderă la concepte orientate pe obiecte, cum ar fi moștenirea și polimorfismul, poate fi o clasă persistentă într-o aplicație Java.