Hva er dvalemodus?

Offisielt kjent som Hibernate ORM, er det et objekt-relasjonalt kartleggingsverktøy eller rammeverk for Java-programmeringsspråket. Det er den gratis programvaren under GNU Lesser General Public License 2.1. Den har som mål å gi brukeren rammeverket for å håndtere objekt-relasjonell impedanskartlegging. Den administrerer også vedvarende databaseadganger med svært høye nivåhåndteringsfunksjoner. Det er et mellomvareverk av java som brukes til objektrelasjonell kartlegging og for å utføre effektiv objektpersistens.

Arkitektur

For å lære mer om dvalemodus, trenger vi å forstå arkitekturen som består av:

  • En Java-applikasjonskode består av alle klassene, variablene og objektene som definerer forretningslogikken til applikasjonen. Disse klassene kommuniserer med dvalemodus.
  • Deretter kommer Hibernate og dens grunnprinsipper, som vi kan vedvare (lagre eller lagre og hente) objektene til virksomhetslagsklassene våre ved å kommunisere med databaseserverlaget.
  • Den bruker Java core API, Java Database Connectivity (JDBC), Java Transaction API (JTA), Java Naming og Directory Interface (JNDI) for å kommunisere med databasen for å vedvare tilstanden til et objekt ved å utføre lese, opprette, oppdatere, slette (CRUD) operasjoner.

Den brukes i utgangspunktet til å kommunisere med databasen. Her lager vi bare noen enheter, som ikke er noe annet enn en java-klasse som vil lage en databasetabell for oss i databasen.

Work

Her kommer vi over et spørsmål om hvorfor vi bruker dvalemodus for java hvis vi allerede har de viktigste java-prinsippene. Så her er svaret på det:

  • Brukte beste JDBC-konsepter som:
  1. Rowsett i stedet for ResultSet
  2. DataSource (tilkoblingspooling) i stedet for DriverManager
  3. Batchoperasjoner i stedet for individuell drift
  4. Utarbeidet erklæring i stedet for uttalelse
  • Prosjektutviklingskostnader reduseres til en stor faktor.
  • Ingen minne lekker
  • Å administrere foreninger som en-til-mange osv. Er enkle og enkle sammenlignet med å jobbe med samleegenskaper som java.util.Set, List, Map.
  • Å være et ORM-rammeverk, vil Hibernate få alle sine fordeler:
  • Støtter cache på andre nivå
  • Objektet blir en post og omvendt.
  • Støtter i tillegg Object Query Language (HQL)
  • Støtter flere primære nøkkelgeneratorer

Funksjoner ved dvalemodus

Så det hele dreide seg om java dvalemodus og dens arkitektur, la oss snakke om funksjonene i den siste dvalemodellen som ble utgitt for 57 dager siden, dvs. 23. februar 2019. Utviklet av Red Hat-programvare, det er en virtuell maskinplattform med mange funksjoner:

  • Den støtter JMX og JCA.
  • Det gir en funksjon ved J2EE-integrasjon.
  • Ved systeminitialisering genererer det SQL.
  • Gi valgfritt intern tilkoblingssammenslåing og forberedt hurtigbufring.
  • Den støtter optimistisk låsing med versjonering.
  • Det gir henting av ytre skjøter.
  • Det introduserer Lazy initialisering.
  • Det gir hurtigbuffer på økten og ekstrautstyr på andre nivå.
  • Det gir dobbeltlags bufferarkitektur.
  • Automatisk generering av primærnøkkelen.
  • Det støtter det tøffe konseptet med sammensatte nøkler.
  • Det støtter Detached object-konsept.
  • Det introduserer automatisk Dirty Checking-konsept.
  • Det gir gjennomsiktig utholdenhet uten byte-kodebehandling.
  • Det gir objekt / relasjonelle kartverk. Her er forskjellige O / R-kartleggingsstrategier som flere objekter til kartlegging av en rad,
  • Polymorfe assosiasjoner, toveis forening, foreningsfiltrering. Det gir også XML-kartleggingsdokumenter.
  • Det gir forskjellige objektorienterte spørrespråk.
  • Minimal objektorientert Hibernate query language (HQL), innfødte SQL-spørringer
  • Høyt objektorientert konseptbegrep.

Hvorfor vi bruker dvalemodus

Her var det alle de siste funksjonene i dvalemodus. Neste kommer problemet at hvorfor vi bruker det, så her er grunnene til at vi foretrekker å bruke dvalemodus:

  • Transaksjonsstyring
  • foreninger
  • Arv
  • Dvale cache
  • versjons~~POS=TRUNC
  • Tilsynsfunksjonalitet
  • Støtte for JPA-merknader
  • Tilkobling Pooling
  • Unngå prøvefangstblokker
  • Unngå lat lasting
  • Reduserer gjenta koden

Fordeler

Når du kortfattet alt om dvalemodus, er det nå på tide å diskutere hovedagendaen som er fordelene og ulempene ved bruk av dvalemodus. Når vi dekker temaet, la oss starte med fordelene ved dvalemodus som er som følger:

  1. ORM - vedlikehold er enkelt og kostnadseffektivt.
  2. Gjennomsiktig utholdenhet
  3. Database uavhengig
  4. HQL - HQLs avanserte funksjoner som paginering og dynamisk profilering er ikke til stede i SQL. Så vi kan bruke den i dvalemodus.
  5. Bufring i dobbeltlag
  6. Versjonseiendom
  7. Open Source og gratis programvare
  8. Skalerbarhet er enkel
  9. Lazy-Loading - Det lazy-loading konseptet henter bare det nødvendige objektet som er nødvendig for utførelsen av en applikasjon.
  10. Lett å lære
  11. Støtter også samlinger som Liste, sett, kart.
  12. evne til å generere primære nøkler
  13. Dvalemodus ga dialektklasser
  14. Den støtter forhold som en-til-mange, en-til-en, mange-til-mange-til-mange, mange-til-en

ulemper

Med fordelene har dvalemodus også veldig færre ulemper. Så her er ulempene med dvalemodus:

  1. litt tregere enn ren JDBC
  2. kjeleplate-kodeproblem
  3. generere mange SQL-setninger i løpet av tiden
  4. Dvalemodus er ikke egnet for batchbehandling
  5. Dvalemodus er treg fordi den bruker refleksjon av kjøretid
  6. Mange API å lære
  7. Noen ganger blir feilsøking og tuning av ytelser vanskelig.
  8. Ikke egnet for små prosjekter
  9. Tillater ikke flere innlegg
  10. Genererer komplekse kabler med mange sammenføyninger
  11. HQL-spørsmål kan ikke ringe PL / SQL-program

Konklusjon

Så med alt dette temaet dekket, trenger vi også å vite om fremtiden for dvalemodus. Vi kan si at dvalemodus fremdeles vil være det dominerende ORM-verktøyet i mye lengre tid gitt at JPA fanger raskt opp. Mitt inntrykk er at Hibernate er den mest brukte implementeringen av JPA (før OpenJPA og EclipseLink), og også at det er native eller core API er fortsatt kraftigere enn JPA 2. Av de grunnene alene tror jeg det vil være i god tid tid. Det er veldig foretrukket å bruke Spring MVC i dvalemodus, da det er mest kompatibelt MVC. Ved å bruke et utholdenhetsramme som Hibernate, kan utviklere fokusere på å skrive forretningslogikkode i stedet for å skrive et nøyaktig og godt utholdenhetslag som inkluderer å skrive SQL-spørringer, JDBC-kode, tilkoblingsadministrasjon, osv. Så jeg kan foreslå å bruke dvalemodus som java-rammeverket som det er den mest fremtredende java-rammen som brukes nå for tiden.

Anbefalte artikler

Dette har vært en guide til What is Hibernate. Her diskuterer vi Arkitektur, funksjoner, rammer, fordeler og ulemper ved dvalemodus. Du kan også se på følgende artikler for å lære mer -

  1. Dvale intervjuspørsmål
  2. Hva er NumPy?
  3. Hva er åpen vogn?
  4. Struts 2 intervjuspørsmål
  5. Java-navnekonvensjoner