Hibernate orm în general și în java în special

Partea întâi

Deoarece nu există aproape nicio aplicație modernă disponibilă fără suport pentru baze de date, se acordă o atenție deosebită interacțiunii cu acestea în toate manualele de programare. Din nefericire, pentru un lucru util ca ORM, dintr-un anumit motiv, ele nu sunt adesea scrise în manuale.

Fiecare abreviere eufhică are o mulțime de transcrieri. Vom vorbi despre cel care sună ca o cartografiere obiect-relațională sau, dacă scriem același lucru, dar numai în limba rusă, proiecția obiect-relațională. Termenul, sigur, pare ciudat pentru cei neinițiați, însă, de fapt, nu există nimic complicat din punct de vedere conceptual.

Majoritatea limbajelor de programare folosite astăzi în industria de programare sunt limbi orientate pe obiecte. Aceasta înseamnă că programatorul, creând programe pe ele, operează cu obiecte - unele entități abstracte care au anumite proprietăți și permit aplicarea unor metode pentru ele însele. Cu toate acestea, bazele de date care sunt utilizate pentru a stoca informații despre aceste obiecte sunt relaționale.

În general, pot exista mai multe căi de ieșire din această situație. De exemplu, puteți utiliza sistemul DBMS relațional orientat pe obiecte - adică unul în care informațiile sunt stocate nu sub formă de tabele familiare tuturor, ci sub forma exact aceleași obiecte pe care programatorii le operează în codul lor. Ei bine, ideea este bună, mai ales că există sisteme de gestionare a bazelor de date care permit rezolvarea acestei probleme în acest fel. Cu toate acestea, utilizarea unui DBMS orientat pe obiecte în sine conduce la o serie întreagă de noi probleme. Sistemele DBMS relate sunt utilizate atât de pe scară largă, nu pentru că sunt incomod pentru programatori - sunt fiabile, rapide și, cel mai important, familiare.

Poate există altă cale de a rezolva această problemă? Bineînțeles că există. De fapt, se numește ORM. Aceasta constă în aplicarea cadrelor sau a bibliotecilor speciale, care sunt ele însele implicate în legarea obiectelor în program și în înregistrările din tabelele bazei de date. Mulțumită lor, programatorul scapă parțial de rutina enervantă și are mai mult timp să se gândească la aspecte mai semnificative ale implementării proiectului.

Soluțiile ORM au multe avantaje, comparativ cu lucrul "manual" cu bazele de date din proiect. Acestea vă permit să optimizați numărul de interogări în baza de date, dar în același timp evitați descărcarea datelor redundante pentru aplicație în acest moment. În plus, printr-o singură bază de date pentru toate utilizate API-interfață, care oferă ORM-cadru, dacă este necesar, modificați baza de date, la cererea clientului, sau pur și simplu din cauza creșterii excesive a volumului de date este foarte ușor de a trece de la o bază de date la alta, deoarece toate SQL- dialecte au fost deja puse în aplicare în cadrul, dezvoltatorii săi, și programatori folosind cadrul, nu există nici o nevoie de serile lungi de iarnă pentru a studia fiecare dintre ele pentru a pune rapid și cu succes aplicarea într-o situație de urgență, cu o bază de date numită altul. Deși, bineînțeles, un singur API este convenabil nu numai în astfel de cazuri extreme. Acest lucru va fi discutat mai departe.

Java este un limbaj de programare în care totul este scris astăzi. Ei bine, sau aproape totul - de la cele mai cunoscute magazine online și se termină cu sisteme complexe distribuite de nivel corporatist. Șoferii, desigur, nu scriu, dar nu se preface că face acest lucru.

Merită menționat că, deși Hibernate nu este singurul cadru ORM pentru Java, este foarte popular printre programatori, deoarece este un produs software puternic care este bine depanat și testat pe o varietate de proiecte reale.

Arhitectura unei aplicații simple care utilizează Hibernate, de asemenea, îmi pare rău pentru tautologie, este destul de simplă - o puteți vedea în ilustrație la articol. După cum era de așteptat, Hibernate este legătura dintre aplicația în sine și datele stocate în baza de date. În acest caz, atenție la două dreptunghiuri mai mici, întunecate, pe fundalul unui dreptunghi cu inscripția "Hibernate" - simbolizează fișierele de configurare pe care trebuie să le acordăm cea mai mare atenție.

Cum funcționează Hibernate? Prin descărcarea propriilor configurații din fișierul hibernate.cfg.xml, acesta colectează informații despre clasele pe care dezvoltatorul a decis să le "cedeze" în baza de date din fișiere de configurare speciale care sunt scrise în format XML. După descărcarea tuturor fișierelor de configurare, puteți crea sesiuni de conectare la baza de date utilizând "sesiunile din fabrică" și puteți lucra cu acestea - schimbați datele, adăugați, ștergeți. În general, după cum se spune, să returneze totul cu date pe care numai sufletul le va plăcea.


Puțin despre SGBD suportate

După cum puteți vedea, lista de suporturi DBMS sa dovedit a fi destul de impresionantă, ceea ce confirmă încă o dată popularitatea și succesul cadrului, despre care vorbim acum. Din păcate, de data aceasta totul - articolele de ziar, după cum știți, au unele limitări în ceea ce privește volumul și, prin urmare, conversația despre Hibernate va continua în următoarea ediție.

Versiune imprimabilă