Inleiding tot de slaapstand
Er zijn veel objectgeoriënteerde programmeertalen met hun eigen syntaxis en bibliotheken, terwijl aan de andere kant de volledige gegevens die we opslaan in de backend zijn gebaseerd op het relationele model met volledig verschillende protocollen en te volgen syntaxis. Hibernate is een van de middleware-platforms om deze kloof te overbruggen. Deze middleware-applicatie noemde ik Object Relational Mapping (ORM). We hebben verschillende ORM-tools zoals Hibernate, IBatis, Toplink en nog veel meer. In dit artikel zullen we ons concentreren op Hibernate en zijn sessies.
Wat is Hibernate?
Het is de ORM-tool die wordt gebruikt om de objecten in de applicatielaag te koppelen en toe te wijzen aan de database voor de programmeertaal JAVA. Het is gebouwd om de impedantiemismatch tussen een typische programmeertaal en de relationele database aan te kunnen. Het is gratis software met een GNU-licentie, kan eenvoudig worden gedownload van internet.
Hibernate is een extensie van JAVA persistence API. Het ondersteunt de Hibernate Query-taal (HQL). De belangrijkste rol van Hibernate is het koppelen van de JAVA-objecten en -klassen aan de databaseklassen via XML-structuur of JAVA-annotaties. Evenzo moeten de datatypes van JAVA worden gekoppeld aan de datatypes van de database, zodat er sprake is van miscommunicatie tussen twee verschillende systemen. Slaapstand kan worden gebruikt om de gegevens te extraheren met behulp van query's. Het kan SQL-aanroepen genereren en daarmee handmatige fouten en het werk van de ontwikkelaar verminderen. Er zijn verschillende ingebouwde functies in de slaapstand voor gebruiksgemak, zoals:
load (), update (), get (), merge (): als we zeker weten dat het object bestaat, gebruiken we deze functie om het hibernate-object te laden, anders gebruiken we de functie get (). Update- en samenvoegfuncties worden gebruikt om de database-records bij te werken op basis van de huidige sessies die al bestaan of we zijn totaal nieuwe sessies voor de transactie. Er zijn nog veel meer functies zoals deze om de slaapstand te ondersteunen.
Wat is de slaapstand?
Het is een runtime-interface tussen een toepassing en Hibernates die op aanvraag wordt gemaakt. Met andere woorden, het biedt de connectiviteit tussen uw applicatie en database. Het biedt verschillende functies zoals maken, verwijderen, ophalen, bijwerken om in de database te werken met behulp van sessiemethoden die in vier statussen bestaan, namelijk: tijdelijk, permanent en vrijstaand, verwijderd.
Hibernate is gemaakt om dit doel te dienen. Het verbindt de database soepel met de Java-taal, ongeacht welke database dan ook. Het wordt geleverd met flexibele functies en bevordert daarmee de flexibiliteit van het omgaan met gegevens via verschillende platforms.
Methoden van de slaapstand
- Save (): de methode Save () genereert de primaire sleutel en voegt het record in de database in. Het is vergelijkbaar met de methode persist () in JPA, maar het gedraagt zich anders in een ontkoppelde instantie door het duplicaatrecord te maken bij database-commit.
- Update (): Update () wordt gebruikt om het bestaande databaserecord bij te werken. Het retourneert een uitzondering als het record niet wordt gevonden of aangeroepen in een tijdelijke instantie.
- saveOrUpdate (): hiermee wordt de database opgeslagen of bijgewerkt op basis van de doorgegeven entiteit. Het retourneert geen uitzondering in de tijdelijke status, maar zorgt ervoor dat de status permanent blijft tijdens een databasebewerking.
- merge (): waarden van een ontkoppelde entiteit worden in de database bijgewerkt wanneer merge () wordt gebruikt door de ontkoppelde entiteit te wijzigen in de permanente status.
- delete (): verwijdermethode werkt in permanente modus om de entiteit uit de database te verwijderen. Er wordt een uitzondering geretourneerd als er geen record in de database wordt gevonden.
Hoe maak je een slaapstand aan?
Om een slaapstand te creëren, moeten we slaapstandafhankelijke afhankelijkheden laden in de bibliotheek van de tool die u gebruikt, samen met de databaseconnector. Zodra deze bibliotheken zijn geladen, kunnen we de verbinding tot stand brengen door een sessie te maken met behulp van de sessiefabriek.
Laten we aannemen dat we een tabel met twee kolommen hebben: Werknemer-ID en Naam werknemer die moet worden bijgewerkt.
Codefragment:
openbare klasse testclasshibernate // klasseverklaring.
(
public static void main (string () args) // De hoofduitvoering van het programma begint vanaf hier.
(
testprogramma = nieuw programma (); // Hier wordt de klasse geobjectiveerd en vervolgens wordt dit object gebruikt als referentie om de waarden zoals de naam van de werknemer en de ID van de werknemer te verzenden die in de databasetabel moeten worden geïmporteerd.
program.setEmpId (101);
program.setEmpName ( “User1”);
Configuratie con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Creëer sessiefabriek met behulp van configuratie
SessionFactory sf1 = con.buildsessionfactory ();
// Open sessie methode geeft het object van de sessie.
Session s1 = sf.OpenSession ();
// Transactie openen
Transactie t1 = session.beginTransaction ();
session.save (testprogramma);
tx.commit ();
)
)
Voordelen van de slaapstand
- De slaapstand voldoet aan de eigenschappen ACID (Atomicity, Consistency, Isolation en Durability) van de database.
- De objecttoewijzing is consistent en vermindert dus veel potentiële bugs en mazen in de code.
- Het is database-onafhankelijk, dus zelfs als er een database zoals mySQL of oracle is, kan deze software worden gebruikt.
- Het is niet nodig om alleen de basiskennis van SQL te kennen om u te helpen begrijpen hoe het werkt.
- Eenvoudig om associaties te maken en veel begeleiding aanwezig op het net. Java dat op grote schaal wordt gebruikt met een koppeling met een database via het net, kan c = het meeste gebruik maken van deze software als het verstandig wordt gebruikt.
- Minimale code verandert wanneer er wijzigingen in tabellen zijn, omdat alles via klasse en objecten wordt afgehandeld. De meeste code en functionaliteiten zijn generiek, waardoor het meer waard is voor gebruik in toepassingen die veel afhankelijkheid hebben van transactiegegevens.
- Hibernate ondersteunt caching op meerdere niveaus waardoor de coderingsefficiëntie wordt verbeterd.
Conclusie
Er is een historische discrepantie van databasegegevens en de gegevens verwerkt via elke programmeertaal buiten de database. Om dit op te lossen is een nieuwe oplossing ontworpen genaamd “ORM”. De gegevens die in tabelvorm in een database zijn opgeslagen, kunnen nu uit de database worden opgehaald en kunnen worden verwerkt in de vorm van objecten in de programmeertaal, waardoor het gebruik van SQL-query's wordt geëlimineerd.
Aanbevolen artikelen
Dit is een gids voor de slaapstand. Hier bespreken we wat een slaapstand en een slaapstand is? samen met methoden en voordelen. U kunt ook de volgende artikelen bekijken voor meer informatie -
- Slaapstand versus JPA
- Wat is CSRF?
- Lente versus voorjaarsschoen
- Slaapstand versus JDBC