Introduktion til Dvalet arkitektur

Inden vi går i dvaletilstand Arkitektur, lad os se på, hvorfor Dvaletilstand kom ind i billedet, og hvilket formål det løser for os. Hibernate er et ORM (Object Relational Mapping) værktøj til et java-programmeringssprog til at udvikle objektbaseret databaseaafhængig persistenslogik. Dvaletilstand giver et lag med abstraktion til hentning og lagring af data i en database.

Hvorfor dvale?

JDBC (Java Database Connectivity) er databaseafhængig. For at være mere specifik, afhænger skrivning af forespørgsler, der skal køres fra din applikation ved hjælp af JDBC, af hvilken database du arbejder med. Hvis du arbejder med MySQL eller Oracle, vil dine spørgsmål være forskellige. Så hvis du midt i et projekt har brug for at ændre din database, der også kræver en ændring af kode, og det ønsker vi selvfølgelig ikke. Mens dvaletilstand bruger et database-uafhængigt dvaletilspørgselssprog. Kort sagt, dvaletilstand tager sig af det meste af hvad udvikleren havde at gøre med JDBC, f.eks. Åbning af en forbindelse til DB, lukning af forbindelser, håndtering af forskellige undtagelser.

Så lad os komme ind i Hibernate-arkitekturen for bedre at forstå, hvordan Dvaletilstand har gjort datapersistens så meget lettere.

Dvalet arkitektur

Det vigtigste koncept er enhver ORM er at erstatte skrivning af databasespecifikke SQL-forespørgsler med manipulering af objekter.

For at sige det i enkle ord,

  • du opretter en POJO (almindeligt gammelt Java-objekt)
  • tildele værdier til felterne vha. sættere
  • fortæl dvaletilstand for at vedvare disse objekter

Dvale kortlægger Java-klasser til databasetabeller (som også indebærer kortlægning af java-datatyper til SQL-datatyper).

Så det fjerner smerten ved at konvertere java-felterne til SQL-understøttede datatyper. Dvaletilstand gør det for dig.

Det frigører også udvikleren fra smerten ved håndtering af resultatsæt.

Java-applikation

Mens vi udvikler persistenslogikken, er vi nødt til at tage støtte fra nogle ressourcer i java-applikationen. Lad os se på disse ressourcer.

Hjertet i enhver dvaletilpasning ligger i dens konfiguration, der udføres ved hjælp af,

  • Konfigurationsfil
  • Kortlægning af fil

Dvaletilstand Konfigurationsfil

Vi definerer egenskaber, der fortæller dvaletilstand, hvilken database den skal interagere med, og hvilken JDBC-driver, der skal bruges. Dvaletilstand bruger en konfigurationsfil til at få alle disse oplysninger.

Selvom Hibernate er i stand til at generere databaseforespørgsler, kan vi specificere dialekten for at hjælpe den med at generere bedre SQL til den krævede database.

For eksempel er følgende egenskaber, som du typisk indstiller i en spring boot-applikation

Dvale kortlægningsfil

Det indeholder alle definitioner af klasse-til-kort-kortlægning. Hvert ORM-værktøj har brug for en kortlægningsfil. Vi bruger følgende måder til at fortælle Dvaletilstand, hvilken værdi af et objekt der skal gemmes i hvilken kolonne i tabellen.

  • XML
  • Anmærkninger

Syntaks for en xml-kortfil i foråret,

Følgende er, hvordan vi kommenterer forekomstvariablen, der skal kortlægges til en kolonne i en række i databasen.

Domæne klasse

Som vi ved, er Dvaletilstand kendt for at udvikle objektbaseret persistenslogik. Så en domæneklasse er en POJO, der er kortlagt til en tabel i databasen.

Konfiguration

For at oprette en forbindelse til databasen, skal Dvaletilstand kende detaljerne i databasen, klasser og andre detaljer. Et konfigurationsobjekt oprettes en gang, når en applikation initialiseres. Det er hovedsageligt ansvarligt for bootstrapping Dvaletilstand til applikationen. Et konfigurationsobjekt bruger konfigurationsfilen og dvaletilpasningsfilen til at udføre følgende trin:

  • Indlæs disse filer.
  • Kontrollerer, om disse filer er velformede og gyldige.
  • Opretter metadata i hukommelsen for disse to filer.
  • Returner et objekt, der indeholder denne metadata.

Session Factory

En sessionfabrik bruges til at oprette sessionobjekter. Det oprettes af konfigurationsobjektet. Det giver et lag med abstraktion, så vi behøver ikke at bekymre os om, hvordan sessionobjektet oprettes. Det er en tråd-sikker global fabriksklasse til oprettelse af sessioner. Ved hjælp af konfigurationsobjektet får vi adgang til data i hukommelsen oprettet fra konfigurations- og kortlægningsfilen.

Derfra får den JDBC-egenskaber-drivernavnet, datakildens URL, brugernavn, adgangskode osv. Ved hjælp af disse egenskaber opretter det forbindelsesobjekter, der repræsenterer forbindelse til databasen.

Ved hjælp af disse forbindelser oprettes en forbindelsespool. Alle oplysninger fra konfigurationsobjektet og forbindelsespool bruges til at oprette og returnere et sessionobjekt. Derfor er et sessionfabriksobjekt et tungvægtobjekt. Hver sessionfabrik er konfigureret til at arbejde med en bestemt database ved hjælp af en af ​​de specificerede Dvaletilstand-dialekter.

Session

En ting at bemærke er, at det ikke er relateret til en servlet-session eller en java-postsession. En session er en gateway til vores database. Det skaber en bro fra vores applikation til databasen. Det oprettes af sessionfabrikken. Det tager forbindelsesobjektet og åbner en forbindelse / session til databasen og giver applikationen mulighed for at udføre persistenshandlinger i databasen.

I et ORM-værktøj udfører du alle operationer som INSERT, DELETE og UPDATE ved hjælp af objektorienteret semantik, hvilket betyder, at du ikke længere henviser til tabeller, rækker og kolonner. Det er sessionernes arbejde at udføre alle vedholdenhedsoperationer for dig.

Transaktion

En transaktion er et kortvarigt objekt, der repræsenterer en enkelt enhed af arbejde som at gemme eller slette et objekt i en tabel i databasen. Det abstraherer applikationen fra den underliggende transaktion udført ved hjælp af JDBC, JTA (Java Transaction API) osv.

Dvale internt ved hjælp af JDBC, JTA, JNDI (Java Naming og Directory Interface) til at generere SQL-forespørgsler til den konfigurerede database.

Konklusion

I denne artikel kiggede vi på, hvordan den lagdelte arkitektur i dvaletilstand hjælper en programmør til at arbejde med en database uden at skulle kende detaljerne i det underliggende API som JDBC, JTA og JNDI. Vi lærte, hvordan Dvaletilstand gør vores liv lettere ved at håndtere det meste af kedelpladen koden som åbning / lukning af forbindelse til databasen. Forhåbentlig giver dette dig en klar forståelse af Hibernate-arkitekturen, som får dig i gang med at bruge Hibernate Framework i dine applikationer.

Anbefalede artikler

Dette er en guide til dvaletilstand Arkitektur. Her diskuterer vi den lagdelte arkitektur i dvaletilstand sammen med Java-applikationen. Du kan også se på den følgende artikel for at lære mere -

  1. Hvad er dvaletilstand?
  2. Dvaletilstand
  3. Dvale Interview spørgsmål
  4. Hvad er Java Dvale?

Kategori: