Hibernate Session - Metoder och fördelar med viloläge

Innehållsförteckning:

Anonim

Introduktion till viloläge

Det finns många objektorienterade programmeringsspråk som har sina egna syntaxer och bibliotek, men å andra sidan är hela informationen som vi lagrar i backend baserad på den relationella modellen som har helt olika protokoll och syntaxer som ska följas. Hibernate är en av mellanvaruplattformarna för att överbrygga detta gap. Det här mellanprogrammet kallade jag Object Relational Mapping (ORM). Vi har olika ORM-verktyg som viloläge, IBatis, Toplink och många fler. I den här artikeln kommer vi att fokusera på viloläge och dess sessioner.

Vad är viloläge?

Det är ORM-verktyget som används för att länka och kartlägga objekten i applikationsskiktet till databasen för JAVA-programmeringsspråk. Den är byggd för att hantera impedansmatchningen mellan ett typiskt programmeringsspråk och den relationsdatabas. Det är kostnadsfri mjukvara med en GNU-licens, kan enkelt laddas ner från internet.

Hibernate är en förlängning av JAVA persistence API. Det stöder Hibernate Query-språket (HQL). Hibernates huvudroll är att länka JAVA-objekt och klasser till databasklasserna via XML-struktur eller JAVA-kommentarer. På liknande sätt bör datatyperna för JAVA matchas med databasens datatyper så att det finns felkommunikation mellan två olika system. Viloläge kan användas för att extrahera data med hjälp av frågor. Det kan generera SQL-samtal och därmed mildra manuella fel och utvecklarens arbete. Det finns olika inbyggda funktioner i viloläge för enkel användning som:

load (), update (), get (), merge (): Om vi ​​är säkra på att det finns ett objekt använder vi den här funktionen för att ladda vilolägeobjektet annars använder vi get () -funktionen. Uppdaterings- och sammanslagningsfunktioner används för att uppdatera databasposterna baserat på de aktuella sessionerna som redan finns eller vi är helt nya sessioner för transaktionen. Det finns många fler funktioner som detta för att stödja viloläge.

Vad är viloläge?

Det är ett runtime-gränssnitt mellan en applikation och viloläge som skapas på begäran. Med andra ord ger det anslutningen mellan din applikation och databas. Det erbjuder olika funktioner som skapa, radera, få, uppdatera för att fungera i databasen genom att använda sessionmetoder som finns i fyra tillstånd, nämligen: Transient, Persistent and Detached, Removed.

Viloläge har skapat för att tjäna detta syfte. Det ansluter smidigt databasen till java-språk oavsett vilken databas som helst. Det kommer med flexibla funktioner och därmed främja flexibilitet vid hantering av data över olika plattformar.

Metoder för viloläge

  1. Spara (): Metoden Spara () genererar primärnyckeln och infogar posten i databasen. Det liknar metoden persist () i JPA men den uppför sig annorlunda i en fristående instans genom att skapa duplikatposten vid databasåtgärder.
  2. Uppdatering (): Uppdatering () används för att uppdatera den befintliga databasposten. Det returnerar ett undantag om posten inte hittas eller kallas i en kortvarig instans.
  3. saveOrUpdate (): Det sparar eller uppdaterar databasen baserat på den passerade enheten. Det returnerar inte ett undantag i det övergående tillståndet men det gör att staten kvarstår under en databasoperation.
  4. merge (): Värden från en fristående enhet uppdateras till databasen när fusionen () används genom att ändra den fristående enheten till det ihållande tillståndet.
  5. delete (): Delete-metoden fungerar i ihållande läge för att ta bort enheten från databasen. Ett undantag returneras om ingen post finns i databasen.

Hur skapar jag en viloläge?

För att skapa en viloläge måste vi ladda vilolägen i biblioteket för verktyget som du använder tillsammans med databasanslutningen. En gång har dessa bibliotek laddats kan vi upprätta anslutningen genom att skapa en session med sessionfabriken.

Låt oss anta att vi har en tabell med två kolumner: Anställds-id och anställdens namn som bör uppdateras.

Kodavsnitt:

import.org.hibernate.session // På det här sättet importerar vi viloläget i huvudprogrammet.
allmän klass testklassificering // klassdeklaration.
(
public static void main (string () args) // Programmet; s huvudutförande ska börja härifrån.
(
testprogram = nytt program (); // Här objektiveras klassen och sedan används detta objekt som en referens för att skicka värden som anställdnamn och anställds-ID som måste importeras till databastabellen.
program.setEmpId (101);
program.setEmpName ( ”User1”);
Configuration con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Skapa sessionsfabrik med konfiguration
SessionFactory sf1 = con.buildsessionfactory ();
// Öppna sessionmetoden ger objektet med sessionen.
Session s1 = sf.OpenSession ();
// Öppna transaktion
Transaktion t1 = session.beginTransaction ();
session.save (testprogram);
tx.commit ();
)
)

Fördelar med viloläge

  • Vilolägeöverensstämmelse överensstämmer med databasens ACID-egenskaper (Atomicity, Consistency, Isolation and Durability).
  • Objektkartläggningen är konsekvent och därmed minskar många potentiella buggar och kryphål från koden.
  • Den är databasoberoende så även om det finns någon databas som mySQL eller oracle kan denna programvara användas.
  • Det finns ingen anledning att känna till SQL endast grundläggande kunskaper om den ska hjälpa dig att förstå hur det fungerar.
  • Lätt att skapa föreningar och mycket vägledning över nätet. Java som används allmänt med en koppling till en databas över nätet kan c = utnyttja den här mjukvaran mest om den används på ett klokt sätt.
  • Minimal kod ändras när det finns några ändringar i tabeller eftersom allt hanteras via klass och objekt. De flesta av koden och funktionaliteterna är generiska vilket gör det mer värdefullt för användning i applikationer som har mycket beroende över transaktionsdata.
  • Hibernate stöder caching i flera nivåer och förbättrar därmed kodningseffektiviteten.

Slutsats

Det har skett en historisk avvikelse mellan databasdata och data som hanteras via vilket programmeringsspråk som helst utanför databasen. För att få detta löst designades en ny lösning som heter ”ORM”. Data som lagras i tabellform i en databas nu kan hämtas från databasen och kan hanteras i form av objekt i programmeringsspråket och därmed eliminera användningen av SQL-frågor.

Rekommenderade artiklar

Detta är en guide till viloläge. Här diskuterar vi vad som är viloläge och viloläge? tillsammans med metoder och fördelar. Du kan också titta på följande artiklar för att lära dig mer -

  1. Viloläge vs JPA
  2. Vad är CSRF?
  3. Spring vs Spring Boot
  4. Hibernate vs JDBC