Avanceret Java Hibernate Tutorial

Når du udvikler dine professionelle Java-programmer - især hvis disse Java-programmer skal fungere inden for professionelle indstillinger, hvor data-persistens er nøglen - kan du finde det nødvendigt at implementere en objektrelationel database, der tager objekter fra et program og kortlægger dem til et databaseskema, så objektinformation kan gemmes og hentes med SQL-lignende kommandoer. Avancerede dvaleteknikker involverer adgang til XML-filerne, der styrer databasens ordninger til kortobjekter og udfører forespørgsler ved hjælp af dvaletilsprogssprog.

Grundlæggende dvale og Java klasser

Fordi HQL er et objektrelationelt databaseskema, gemmer det Java-objektinformation i en relationsdatabase. Derfor skal du have et Java-objekt, der er detaljeret i en Java-klasse. Efter at have besluttet om navne og attributter i en klasse kan du medtage disse oplysninger i en XML-fil for at lette kortlægningen af ​​objektet til en relationsdatabase. Følgende Java beskriver en grundlæggende Java-klasse, der kan kortlægges til en database via HQL:

pakke org.example.Example1;

offentlig klasse Eksempel {

offentlige int data1; private int data2;

offentlig setData1 (int x) {data1 = x; }

}

Kortlægning af XML-fil

Implementering af HQL kræver, at du opretter en kortlægningsskema-fil i XML, der vil skitsere klassen, objekterne og attributterne til en relationel kortlægningsdatabase. Brug af XML i dvale vil generere et dataskema fra XML og anvende det på databasen, så oplysninger om klassen vil blive repræsenteret i en datatabel. Følgende XML repræsenterer et XML-kortlægningsskema ved hjælp af klassen "Eksempel". "ID" -mærkerne skematiserer dataelementerne, mens "property" -taggen skematiserer få- og indstillingsfunktionen for "data1:"

Hibernate Query Language (HQL)

Du kan bruge HQL i stedet for Standard Query Language til at forespørge en database baseret på Java klasser for at få oplysninger. I de fleste henseender ligner HQL SQL, kun HQL er indbygget i en Java og Hibernate kontekst. Du kan f.eks. Bruge HQL-sproget i dvaletilstand til at forespørge bordet, der er oprettet af den kortlagte XML-tegning fra eksempelklassen. Hvis en forekomst af klassen blev opbevaret i en relationsdatabase med værdien "3" placeret i den lokale variabel "data1", kunne du spørge bordet ved hjælp af følgende kommando for at få den værdi på et senere tidspunkt:

VÆLG FIRST_DATA FRA Eksempel

Avanceret kortlægning

Sammen med grundlæggende kortlægning kan du engagere dig i avanceret kortlægning af objektkomponenter og forekomster. Komponenter er klasser, der findes inden for andre klasser som dataværdier, og kan kortlægges ved hjælp af "" taggen i mapping XML-filen. Tilfælde er specifikke forekomster af klasser inden for kode, der har angivet værdier, herunder indsamlingsklasser som lister eller hashes. Du kan kortlægge samlingsinstanser ved hjælp af taggen sammen med andre mere specifikke tags.

Anbefalet