Hvad er dvaletilstand?

Officielt kendt som Hibernate ORM, er det et objekt-relationel kortlægningsværktøj eller ramme for Java-programmeringssprog. Det er den gratis software under GNU Lesser General Public License 2.1. Det sigter mod at give brugeren rammerne til at håndtere objekt-relationel impedansmapping. Det administrerer også vedvarende databaseadganger med meget høje niveau objekthåndteringsfunktioner. Det er en middleware-ramme af java, der bruges til objekt-relationel kortlægning og til at udføre effektiv objektpersistens.

Arkitektur

For at lære mere om dvaletilstand er vi nødt til at forstå dens arkitektur, der består af:

  • En Java-applikationskode består af alle klasser, variabler og objekter, der definerer programmets forretningslogik. Disse klasser kommunikerer med dvaletilstand.
  • Derefter kommer dvaletilstanden og dets centrale principper, hvor vi bruger, som vi kunne vedvare (gemme eller gemme og hente) objekterne i vores forretningslagsklasser ved at kommunikere med databaseserverlaget.
  • Det bruger Java core API, Java Database Connectivity (JDBC), Java Transaction API (JTA), Java Naming og Directory Interface (JNDI) til at kommunikere med databasen for at opretholde status for et objekt ved at udføre læse, oprette, opdatere, slet (CRUD) operationer.

Det bruges dybest set til at kommunikere med databasen. Her opretter vi bare nogle enheder, som ikke er andet end en java-klasse, der skaber en databasetabel for os i databasen.

Framework

Her kommer vi over et spørgsmål, hvorfor vi bruger dvaletilstand for java, hvis vi allerede har de centrale java-principper. Så her er svaret på det:

  • Brugte bedste JDBC-koncepter som:
  1. Rowset i stedet for ResultSet
  2. DataSource (forbindelsespooling) i stedet for DriverManager
  3. Batchoperationer i stedet for individuel drift
  4. Forberedt erklæring i stedet for erklæring
  • Projektudviklingsomkostninger reduceres til en stor faktor.
  • Ingen hukommelse lækker
  • Håndtering af foreninger som en-til-mange osv. Er enkle og lette sammenlignet med at arbejde med indsamlingsegenskaber som java.util.Set, List, Map.
  • At være en ORM-ramme vil Hibernate få alle dens fordele:
  • Understøtter cache på andet niveau
  • Objektet bliver en post og vice versa.
  • Understøtter desuden Object Query Language (HQL)
  • Understøtter flere primære nøglegeneratorer

Funktioner i dvale

Så det handlede om java-dvaletilstand og dens arkitektur, lad os tale om funktionerne i den seneste dvaletilstand, der blev frigivet for 57 dage siden, d. 23. februar 2019. Udviklet af Red Hat-software, det er en virtuel maskinplatform med masser af funktioner:

  • Det understøtter JMX og JCA.
  • Det giver en funktion ved J2EE-integration.
  • Ved systeminitialisering genererer det SQL.
  • Opret eventuelt intern forbindelse til pooling og forberedt cache-erklæring.
  • Det understøtter optimistisk låsning med versionering.
  • Det giver hentning af ydre samlinger.
  • Det introducerer doven initialisering.
  • Det giver cache på sessionniveau og valgfri cache på andet niveau.
  • Det giver dobbeltlags cachearkitektur.
  • Automatisk generering af den primære nøgle.
  • Det understøtter det hårde koncept med sammensatte nøgler.
  • Det understøtter løsrevet objektkoncept.
  • Det introducerer automatisk Dirty Checking-koncept.
  • Det giver gennemsigtig vedholdenhed uden byte-kodebehandling.
  • Det giver objekt / relationelle kortlægninger. Her er forskellige O / R-kortlægningsstrategier som flere objekter til kortlægning i én række,
  • Polymorfe foreninger, tovejs forening, foreningsfiltrering. Det giver også XML-kortdokumenter.
  • Det giver forskellige objektorienterede forespørgselssprog.
  • Minimal objektorienteret dvalet forespørgselssprog (HQL), oprindelige SQL-forespørgsler
  • Høj objektorienteret kriteriebegreb.

Hvorfor vi bruger Dvaletilstand

Her var det alle de nyeste funktioner i dvaletilstand. Dernæst kommer spørgsmålet om, hvorfor vi bruger det, så her er grundene til, at vi foretrækker at bruge dvaletilstand:

  • Transaktionsstyring
  • Foreninger
  • Arv
  • Dvale cache
  • Versionering
  • Revisionsfunktionalitet
  • Support til JPA-annotering
  • Forbindelse Pooling
  • Undgå trykfangerblokke
  • Undgå doven belastning
  • Reducerer gentagelseskode

Fordele

Kortfattet alt om dvaletilstand, nu er det tid til at diskutere den vigtigste dagsorden, der er fordelene og ulemperne ved at bruge dvaletilstand. Når vi dækker emnet, lad os starte med fordelene ved dvaletilstand, som er som følger:

  1. ORM - vedligeholdelse er let og omkostningseffektivt.
  2. Gennemsigtig vedholdenhed
  3. Database uafhængig
  4. HQL - HQLs avancerede funktioner som pagination og dynamisk profilering er ikke til stede i SQL. Så vi kan bruge det i dvaletilstand.
  5. Cache-dobbeltlag
  6. Version Ejendom
  7. Open Source og gratis software
  8. Skalerbarhed er let
  9. Lazy-Loading - Det doede-ladning-koncept henter kun det nødvendige objekt, der kræves til udførelsen af ​​en applikation.
  10. Let at lære
  11. Understøtter også samlinger som Liste, Sæt, Kort.
  12. kapacitet til at generere primære nøgler
  13. Dvaletilstand leveret dialektklasser
  14. Det understøtter forhold som en-til-mange, en-til-en, mange-til-mange-til-mange, mange-til-en

Ulemper

Med fordelene har dvaletilstand også meget færre ulemper. Så her er ulemperne ved dvaletilstand:

  1. lidt langsommere end ren JDBC
  2. problem med kedelplade-kode
  3. generere mange SQL-sætninger i kørselstid
  4. Dvaletilstand er ikke egnet til batchbehandling
  5. Dvaletilstand er langsom, fordi den bruger refleksion af køretid
  6. Masser af API at lære
  7. Nogle gange bliver debugging og performance tuning vanskeligt.
  8. Ikke egnet til små projekter
  9. Tillader ikke flere indsatser
  10. Genererer komplekse forespørgsler med mange sammenføjninger
  11. HQL-forespørgsler kan ikke kalde PL / SQL-program

Konklusion

Så med alt dette emne, der er omfattet, er vi også nødt til at vide om fremtiden for dvaletilstand. Vi kan sige, at dvaletilstand stadig vil være det dominerende ORM-værktøj i meget længere tid, da JPA er ved at indhente hurtigt. Mit indtryk er, at Dvaletilstand er den mest anvendte implementering af JPA (før OpenJPA og EclipseLink), og også at det er oprindeligt eller kerne-API stadig er mere magtfuldt end JPA 2. Af disse grunde alene tror jeg, det vil være i god tid tid. Det foretrækkes meget at bruge Spring MVC i dvaletilstand, da det er mest kompatibelt MVC. Brug af en persistensramme som Hibernate giver udviklere mulighed for at fokusere på at skrive forretningslogik kode i stedet for at skrive et nøjagtigt og godt persistenslag, som inkluderer skrivning af SQL Queries, JDBC-kode, forbindelsesadministration osv. Så jeg kan foreslå at bruge dvaletilstand som java-rammen som det er den mest fremtrædende java-ramme, der anvendes i dag.

Anbefalede artikler

Dette har været en guide til Hvad er dvaletilstand. Her diskuterer vi arkitektur, funktioner, rammer, fordele og ulemper ved dvaletilstand. Du kan også se på de følgende artikler for at lære mere -

  1. Dvale Interview spørgsmål
  2. Hvad er NumPy?
  3. Hvad er åben indkøbsvogn?
  4. Struts 2 Interview spørgsmål
  5. Java-navnekonventioner

Kategori: