JPA ja talveunerežiimi erinevus

JPA ja talveunerežiimi erinevus
JPA ja talveunerežiimi erinevus

Video: JPA ja talveunerežiimi erinevus

Video: JPA ja talveunerežiimi erinevus
Video: [26 из 33] Юрий Лотман — Значение искусства в жизни человека 2024, November
Anonim

JPA vs talveunerežiim

Peaaegu kõik ettevõtte rakendused peavad regulaarselt relatsiooniandmebaasidele juurde pääsema. Varasemate tehnoloogiate (nt JDBC) probleemiks oli aga impedantsi mittevastavus (erinevus objektorienteeritud ja relatsioonitehnoloogia vahel). Selle probleemi lahenduseks võeti kasutusele abstraktne kiht nimega Püsivuskiht, mis kapseldab äriloogikast juurdepääsu andmebaasile. JPA (Java Persistence API) on raamistik, mis on mõeldud Java rakendustes relatsiooniandmete haldamiseks (kasutades püsivuskihti). Java arendajate kogukonnas kasutatakse JPA paljusid tarnijate rakendusi. Hibernate on JPA kõige populaarsem selline rakendus (mõned teised on DataNucleus, EclipseLink ja OpenJPA). Uusimat JPA versiooni (JPA 2.0) toetab täielikult Hibernate 3.5, mis anti välja 2010. aasta märtsis.

Mis on JPA?

JPA on Java relatsiooniandmete haldamise raamistik. Seda saab kasutada rakendustega, mis kasutavad JSE-d (Java Platform, Standard Edition) või JEE-d (Java Platform, Enterprise Edition). Selle praegune versioon on JPA 2.0, mis ilmus 10. detsembril 2009. JPA asendas EJB 2.0 ja EJB 1.1 entiteedi oad (mida Java arendajate kogukond kritiseeris tugev alt raskekaalulisuse pärast). Kuigi olemi oad (EJB-s) pakkusid püsiobjekte, olid paljud arendajad harjunud kasutama suhteliselt kergeid objekte, mida pakkusid DAO (Data Access Objects) ja muud sarnased raamistikud. Selle tulemusena võeti kasutusele JPA ja see hõlmas paljusid ülalmainitud raamistike ilusaid funktsioone.

JPA-s kirjeldatud püsivus hõlmab API-d (määratletud javax.püsivus), JPQL (Java Platform, Enterprise Edition) ja relatsiooniobjektide jaoks vajalikud metaandmed. Püsivusolemi olek säilitatakse tavaliselt tabelis. Olemi eksemplarid vastavad relatsiooniandmebaasi tabeli ridadele. Metaandmeid kasutatakse olemite vaheliste suhete väljendamiseks. Olemiklassides metaandmete täpsustamiseks kasutatakse märkusi või eraldi XML-deskriptorifaile (kasutatakse koos rakendusega). JPQL-i, mis on sarnane SQL-päringutele, kasutatakse päringute tegemiseks salvestatud olemitele.

Mis on talveunerežiim?

Hibernate on raamistik, mida saab kasutada Java programmeerimiskeele jaoks mõeldud objektidevaheliseks kaardistamiseks. Täpsem alt on see ORM-i (objekt-relatsioonilise kaardistamise) teek, mida saab kasutada objektide relatsioonimudeli kaardistamiseks tavapärasesse relatsioonimudelisse. Lihtsam alt öeldes loob see vastenduse Java klasside ja tabelite vahel relatsiooniandmebaasides, samuti Java-SQL andmetüüpide vahel. Hibernate'i saab kasutada ka andmete päringute tegemiseks ja toomiseks, genereerides SQL-kõnesid. Seetõttu on programmeerija vabastatud tulemuskomplektide käsitsi käsitlemisest ja objektide teisendamisest. Hibernate antakse välja tasuta avatud lähtekoodiga raamistikuna, mida levitatakse GNU litsentsi alusel. JPA API rakendus on saadaval Hibernate 3.2 ja uuemates versioonides. Gavin King on Hibernate'i asutaja.

Mis vahe on JPA ja talveunerežiimi vahel?

JPA on raamistik relatsiooniandmete haldamiseks Java rakendustes, samas kui hibernate on JPA spetsiifiline rakendus (seega ideaaljuhul ei saa JPA-d ja talveunerežiimi otseselt võrrelda). Teisisõnu on Hibernate üks populaarsemaid JPA-d rakendavaid raamistikke. Hibernate rakendab JPA-d Hibernate Annotationi ja EntityManageri teekide kaudu, mis on rakendatud Hibernate Core teekide peal. Nii EntityManager kui ka Annotations järgivad Hibernate'i elutsüklit. Hibernate 3.5 toetab täielikult JPA uusimat versiooni (JPA 2.0). JPA eeliseks on standardiseeritud liides, nii et arendajate kogukond tunneb seda paremini kui talveunerežiimi. Teisest küljest võib natiivseid hibernate API-sid pidada võimsamaks, kuna nende funktsioonid on JPA funktsioonide superkomplektid.

Soovitan: