Hibernează | |
---|---|
Tip de | ORM , Stratul de acces la date , Stratul de abstracție a bazei de date , Cadru de persistență [d] , Cadru și bibliotecă Java [d] |
Dezvoltator | palarie rosie |
Scris in | Java |
Prima editie | 2001 |
Platformă hardware | Mașină virtuală Java |
ultima versiune | |
Licență | GNU LGPL |
Site-ul web | hibernate.org |
Fișiere media la Wikimedia Commons |
Hibernate este o bibliotecă pentru limbajul de programare Java concepută pentru a rezolva sarcinile de mapare relațională obiect ( ORM ), cea mai populară implementare a specificației JPA . Distribuit gratuit în conformitate cu termenii GNU Lesser General Public License .
Vă permite să reduceți cantitatea de programare la nivel scăzut atunci când lucrați cu baze de date relaționale; poate fi folosit atât în procesul de proiectare a unui sistem de clase și tabele de la zero, cât și pentru lucrul cu o bază de date existentă .
Biblioteca nu numai că rezolvă problema asocierii claselor Java cu tabele de baze de date (și tipurile de date Java cu tipuri de date SQL ), dar oferă și instrumente pentru generarea și actualizarea automată a unui set de tabele, construirea de interogări și procesarea datelor primite și poate în mod semnificativ reduce timpul de dezvoltare, care de obicei este cheltuit pentru scrierea manuală a codului SQL și JDBC . Hibernate automatizează generarea de interogări SQL și eliberează dezvoltatorul de procesarea manuală a setului de date rezultat și transformarea obiectelor, făcând cât mai ușor posibil transferul (portarea) aplicației în orice baze de date SQL.
Hibernate oferă suport transparent de persistență pentru „ POJO-uri ” (adică pentru obiecte Java standard); singura cerință strictă pentru o clasă persistentă este să aibă un constructor implicit (fără parametri). Pentru un comportament corect în unele aplicații, trebuie să acordați atenție și metodelor equals()și hashCode()[1] .
Există un port de bibliotecă pentru .NET - NHibernate . Cadrele ORM alternative pentru Java sunt MyBatis , iBATIS , TopLink , EclipseLink .
Maparea ( cartare , mapare, proiecție) a claselor Java cu tabele de baze de date se realizează folosind fișiere XML de configurare sau adnotări Java . Când utilizați un fișier XML, Hibernate poate genera un schelet de cod sursă pentru clasele de persistență. Acest lucru nu este necesar dacă se utilizează o adnotare. Hibernate poate folosi un fișier XML sau adnotări pentru a sprijini schema bazei de date .
Oferă capacitatea de a organiza relația dintre clasele „ unu-la-mulți ” și „ mulți-la-mulți ”. Pe lângă gestionarea relațiilor dintre obiecte, Hibernate poate gestiona și relații reflexive , în care un obiect are o relație unu-la-mai multe cu alte instanțe de tip propriu de date .
Hibernate acceptă maparea tipurilor de valori personalizate. Acest lucru face posibile următoarele scenarii:
Colecțiile de obiecte de date sunt de obicei stocate ca colecții de obiecte Java, cum ar fi Set și List. Sunt acceptate genericele introduse în Java 5. Hibernate poate fi configurat pentru a încărca colecțiile lazy. Încărcarea leneră este opțiunea implicită de la Hibernate 3.
Obiectele legate pot fi configurate pentru operații în cascadă . De exemplu, clasa părinte Album (album muzical) poate fi configurată să salveze în cascadă și/sau să șteargă melodia copil. Acest lucru poate reduce timpul de dezvoltare și poate asigura integritatea fișierului . Caracteristica de verificare murdară evită înregistrarea inutilă a acțiunilor în baza de date prin efectuarea unei actualizări SQL numai atunci când câmpurile obiectelor persistente se modifică.
Succesul bibliotecii Hibernate a determinat JCP să dezvolte specificația JDO, care a devenit una dintre tehnologiile ORM standard în platforma JavaEE. Hibernate este, de asemenea, compatibil cu JSR-220/317 și oferă facilități standard JPA.
Hibernate oferă un limbaj de interogare Hibernate ( HQL) asemănător SQL care vă permite să executați interogări asemănătoare SQL scrise lângă obiectele de date Hibernate. Interogările de criterii sunt furnizate ca o alternativă orientată pe obiecte la HQL.
Hibernate poate fi folosit atât în aplicații Java independente , cât și în programe Java EE care rulează pe un server (cum ar fi un servlet sau EJB -uri ). De asemenea, poate fi inclus ca o caracteristică suplimentară la alte limbaje de programare. De exemplu, Adobe a integrat Hibernate în cea de-a noua versiune a ColdFusion (care rulează pe servere care acceptă aplicații J2EE ) cu un strat de abstractizare de noi caracteristici și sintaxă atașată la CFML .
Hibernate ORM (înainte de versiunea 4.1 se numea Hibernate Core [2] ) - Hibernate core, propriul API, xml-mapping (afișare) metadatelor obiectului (suport pentru metadate sub formă de adnotări începând cu versiunea 3.6) [3]
Hibernate Annotations (din versiunea 3.6 fuzionată cu Hibernate Core / ORM) - mapare (mapping) folosind adnotări JDK 5.0, ambele standard pentru JPA și extensii native [4]
Hibernate EntityManager - implementarea API-ului Java Persistence pentru Java SE și Java EE [5]
Hibernate Envers - auditarea claselor persistente [6] Hibernate OGM - Object / Grid Mapper - extensie pentru stocarea datelor în stocarea NoSQL [7]
Hibernate Shards - un cadru pentru fragmentarea bazei de date - o soluție arhitecturală pentru scalare orizontală cu partiționarea tabelelor bazei de date în segmente pe o anumită bază, fără resurse partajate [8]
Hibernate Validator - adnotări și API pentru validare și integritatea datelor
Hibernate Search - Integrare Hibernate cu motorul de căutare Lucene , în scopul indexării și căutării datelor
Hibernate Tools - instrumente de dezvoltare pentru Eclipse și Ant
Hibernate Metamodel Generator este un procesor de adnotări care generează clase de metamodel statice JSR 317 Java Persistence API (JPA 2) folosind API-ul JSR 269 Pluggable Annotation Processing [9]
Versiunea 1.0 a fost lansată în iulie 2002, un an mai târziu a apărut versiunea 2.0 și un an mai târziu - 3.0. Lansarea din 16 octombrie 2006 a introdus Hibernate Core, Adnotări, Entity Manager (versiunea 3.2.0.GA cu suport JPA ). În decembrie 2013, a fost lansat Hibernate ORM 4.3.0. În septembrie 2015, a fost lansat Hibernate ORM 5.0.2.
API-ul Java Persistence | |
---|---|
|
Java | |
---|---|
Platforme | |
Sun Technologies | |
Tehnologii cheie ale terților | |
Poveste |
|
Proprietățile limbajului | |
Limbaje de scripting |
|
conferințe Java |
|