Sissejuhatus hibernateseansisse
On palju objektorienteeritud programmeerimiskeeli, millel on oma süntaksid ja teegid, teisest küljest põhineb kogu taustteavet salvestav teave relatsioonimudelil, millel on täiesti erinevad protokollid ja süntaksid, mida tuleb järgida. Hibernate on üks vahetarkvara platvorme selle lünga ületamiseks. Seda vahetarkvararakendust kutsusin ma Object Relational Mapping (ORM). Meil on mitmesuguseid ORM-i tööriistu, näiteks Hibernate, IBatis, Toplink ja palju muud. Selles artiklis keskendume hibernaadile ja selle seanssidele.
Mis on talveune?
See on ORM-i tööriist, mida kasutatakse rakendusekihis olevate objektide linkimiseks ja kaardistamiseks Java-programmeerimiskeele andmebaasiga. See on loodud tavalise programmeerimiskeele ja relatsiooniandmebaasi impedantsi ebakõla käsitlemiseks. See on tasuta GNU litsentsiga tarkvara, mida saab hõlpsalt Internetist alla laadida.
Hibernate on JAVA püsivuse API laiendus. See toetab hibernate päringu keelt (HQL). Hibernate'i peamine roll on JAVA objektide ja klasside linkimine andmebaasi klassidega XML-i struktuuri või JAVA annotatsioonide kaudu. Samamoodi tuleks JAVA andmetüübid sobitada andmebaasi andmetüüpidega nii, et kahe erineva süsteemi vahel oleks valesti side. Hibernate abil saab andmeid päringute abil ekstraheerida. See võib genereerida SQL-kõnesid ja seeläbi leevendada käsitsi tekkivaid vigu ja arendaja tööd. Talveunerežiimis on kasutusmugavuse jaoks erinevaid sisseehitatud funktsioone, näiteks:
load (), update (), get (), merge (): kui oleme kindlad, et objekt on olemas, siis kasutame seda funktsiooni talvitunud objekti laadimiseks, vastasel juhul kasutame funktsiooni get (). Uuendamise ja ühendamise funktsioone kasutatakse andmebaasi kirjete värskendamiseks vastavalt olemasolevatele seanssidele või oleme tehingu jaoks täiesti värsked seansid. Niisuguseid funktsioone on talveunerežiimi toetamiseks veel palju.
Mis on hibernateseanss?
See on nõudmisel loodud rakenduse ja hibernaatide vaheline käitamisliides. Teisisõnu pakub see ühenduse teie rakenduse ja andmebaasi vahel. See pakub erinevaid funktsioone, nagu andmebaasi loomiseks, kustutamiseks, hankimiseks ja värskendamiseks, kasutades seansimeetodeid, mis eksisteerivad neljas olekus, nimelt: mööduv, püsiv ja eemaldatud, eemaldatud.
Hibernate on loodud selleks, et seda eesmärki täita. See ühendab andmebaasi sujuvalt java keelega, sõltumata andmebaasidest. See on varustatud paindlike funktsioonidega ja edendab seega andmete platvormide haldamise paindlikkust.
Hibernateseansi meetodid
- Salvesta (): Salvestamise () meetod genereerib primaarvõtme ja lisab kirje andmebaasi. See sarnaneb JPA-s püsiva () meetodiga, kuid käitub eraldiseisvas eksemplaris erinevalt, luues duplikaadi kirje andmebaasi sisestamisel.
- Uuendamine (): värskendust () kasutatakse olemasoleva andmebaasi kirje värskendamiseks. See tagastab erandi, kui kirjet ei leita või kutsutakse ajutises eksemplaris.
- saveOrUpdate (): see salvestab või värskendab andmebaasi läbitud olemi põhjal. See ei tagasta mööduvas olekus erandit, kuid muudab oleku andmebaasi toimimise ajal püsivaks.
- merge (): eraldatud üksuse väärtused värskendatakse andmebaasi, kui ühendamist () kasutatakse, muutes eraldatud olemi püsivasse olekusse.
- Kustuta (): Kustutamismeetod toimib püsivas olekus olemi eemaldamiseks andmebaasist. Erand tagastatakse, kui andmebaasi ei leita ühtegi kirjet.
Kuidas luua talveune seanssi?
Hibernatsiooniseansi loomiseks peame laadima hibernate sõltuvused teie kasutatava tööriista teeki koos andmebaasi konnektoriga. Kui need teegid on laaditud, saame ühenduse luua, luues seansi seansivabriku abil.
Oletame, et meil on kahe veeruga tabel: töötaja ID ja töötaja nimi, mida tuleks uuendada.
Koodilõik:
avalik klass testklassibernaat // klassi deklaratsioon.
(
public static void main (string () args) // Programmi peamine täitmine algab siit.
(
testprogramm = uus programm (); // Siin klass klassifitseeritakse ja seejärel kasutatakse seda objekti viidetena selliste väärtuste saatmiseks nagu töötaja nimi ja töötaja ID, mis tuleb andmebaasi tabelisse importida.
program.setEmpId (101);
program.setEmpName (“Kasutaja1”);
Konfiguratsioon con = uus Config (). Configure (). AddAnnotedClass testclasshibernate;
// Seansitehase loomine konfiguratsiooni abil
SessionFactory sf1 = con.buildsessionfactory ();
// Avatud seansi meetod annab seansi objekti.
Sessioon s1 = sf.OpenSession ();
// Tehingu avamine
Tehing t1 = session.beginTransaction ();
session.save (testprogramm);
tx.commit ();
)
)
Hibernateseansi eelised
- Hibernate-seanss vastab andmebaasi ACID (aatomi, järjepidevuse, eraldamise ja vastupidavuse) omadustele.
- Selle objektide kaardistamine on järjepidev ja vähendab seega koodist palju potentsiaalseid vigu ja lünki.
- See on andmebaasist sõltumatu, nii et isegi kui on olemas mõni andmebaas, näiteks mySQL või oraakkel, saab seda tarkvara kasutada.
- SQL-i ei ole vaja teada. Ainult põhiteadmised selle kohta peaksid aitama teil aru saada, kuidas see töötab.
- Lihtne luua assotsiatsioone ja palju juhiseid võrgu kaudu. Java kasutamist laialdaselt koos võrguga andmebaasidega saab c = kasutada seda tarkvara nutika kasutamise korral kõige paremini.
- Minimaalne kood muutub siis, kui tabelites on muudatusi, kuna kõike käsitletakse klassi ja objektide kaudu. Suurem osa koodist ja funktsionaalsusest on üldised, muutes selle väärtuseks rakenduste jaoks, millel on palju sõltuvust tehinguandmetest.
- Hibernate toetab mitmetasandilist vahemällu salvestamist, parandades sellega kodeerimise tõhusust.
Järeldus
Andmebaasi andmete ja kõigi andmebaasist väljaspool asuvate programmeerimiskeelte kaudu käideldud andmete osas on olnud ajaloolisi erinevusi. Selle lahendamiseks loodi uus lahendus nimega “ORM”. Andmebaasi tabeli kujul säilitatavaid andmeid saab andmebaasist välja otsida ja käsitseda programmeerimiskeeles objektide kujul ning seeläbi välistada SQL päringute kasutamise.
Soovitatavad artiklid
See on hibernateseansi juhend. Siin arutame, mis on hibernate and hibernate session? koos meetodite ja eelistega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- Hibernate vs JPA
- Mis on CSRF?
- Kevad vs kevadine saabas
- Hibernate vs JDBC