A hibernálási kézikönyv
A JDBC (Java Database Connectivity) olyan technológia, amely hozzáférést biztosít a Java API-khoz a relációs adatbázisokhoz. Ennek köszönhetően Java alkalmazások SQL-lekérdezéseket is végrehajthatnak, és kölcsönhatásba léphetnek az SQL-t támogató adatbázisokkal (további adatbázisokkal).
A JDBC rendkívül rugalmas, és lehetővé teszi számunkra, hogy olyan alkalmazásokat írjunk, amelyek nem függenek egy adott platformtól, és kölcsönhatásba léphetnek a különböző DBMS-kel a kód megváltoztatása nélkül.
Milyen előnyökkel jár a JDBC:
- Az SQL lekérdezések egyszerű és érthető kezelése
- Rendkívül aprdna kis alkalmazásokhoz
Egyszerű és világos szintaxis
Mik a JDBC hátrányai:
- Nehéz felhasználni és támogatni nagy projektekben
- Nagy mennyiségű kód
- Nehéz az MVC koncepciójának megvalósítása.
Mi az Object Relational Mapping?
Amikor létrehozunk egy Java alkalmazást, és szeretnénk alkalmazásunkat hozzáférni az adatbázisban tárolt adatokhoz, meg kell értenünk egy rendkívül fontos részletet.
Hatalmas különbség van az objektummodell és a relációs modell között.
A DBMS táblázatos formában ad információt, míg a Java egy adott objektumgörbe formájában ad információt.
Képzeld el, hogy van a Fejlesztői osztály. amely a fejlesztõt képviseli:
És van egy táblázat az adatbázisban, amely a fejlesztõt is képviseli:
HIBERNATE_DEVELOPER tábla:
Tegyük fel, hogy miután létrehoztuk mind az adatbázis java osztályát, mind az asztalát, meg kell változtatnunk az adatbázisunkat, azonnal problémánk van.
Ezen túlmenően, amikor adatokat írunk vagy olvasunk az adatbázisba / az adatbázisból, 5 problémánk van, amelyek az objektumorientált (OO) modell és a relációs modell közötti különbséghez kapcsolódnak:
- öröklés
A relációs modellben nincs olyan koncepció, mint az örökség, ami az OOP egyik alapelve. - azonosító
Egy adatbázis esetében csak egy olyan entitás létezik, amelynél az objektum azonosítható az Elsődleges kulcs. Míg a Java-ban olyan dolgok vannak, mint (entity1 == entitás2) és (object1.equals (object2)). - egyesület
A Java-ban objektum referenciákat használunk az egyesítéshez, és a relációs modellben az Idegen Kulcsot. - hozzáférés
A Java-ban és a relációs adatbázisban az objektum elérésének teljesen más módjai. - beágyazás
Nagyon gyakran, az alkalmazások fejlesztésénél fogva (vagy már találkoztál) azt a tényt, hogy az OO modellünk több osztályt tartalmaz, mint az adatbázisban szereplő táblázatokat.
Ezért felmerül a probléma: hogyan lehet a Java-alkalmazást elérni az adatbázisban és helyesen értelmezni ezeket az információkat.
Más szóval, létre kell hoznunk a kapcsolatot az objektum és a relációs entitás között, vagyis Object-Relational-Binding vagy - ORM (Object-Relational Mapping).
Az ORM egy olyan programozási technika, amely az adatok átalakítását szolgálja, amikor egy relációs adatbázis és (esetünkben) Java között váltunk.
Tehát mi az ORM előnyei a JDBC-hez képest?
- Lehetővé teszi üzleti módszereink számára az adatbázishoz való hozzáférést, de a Java osztályokhoz
- Felgyorsítja az alkalmazások fejlesztését
- JDBC alapján
- Elkülöníti az SQL kéréseket az OO modelltől
- Lehetővé teszi, hogy ne gondoljon az adatbázis végrehajtására
- Az entitások üzleti feladatokon alapulnak, nem pedig az adatbázis struktúráján
- Tranzakciókezelés
- API, amely végrehajtja az alapvető műveleteket (CREATING, READING, MODIFYING, DELETING) modell objektumokat.
- Kötelező metaadat-testreszabási eszközök
- Az ügyletekkel való interakció technikája, amely lehetővé teszi olyan funkciók végrehajtását, mint például a piszkos ellenőrzés, a lusta társulások lekérése stb.
És a legszélesebb körű ORM keretrendszerek a következők:
- Hibernálás (amit ebben a cikksorozatban tanulmányozunk)
- EJB
- JDO
- Tavaszi DAO
- TopLink