Sessione di ibernazione - Metodi e vantaggi della sessione di ibernazione

Sommario:

Anonim

Introduzione alla sessione di ibernazione

Esistono molti linguaggi di programmazione orientati agli oggetti che hanno le proprie sintassi e librerie mentre, d'altra parte, tutti i dati che memorizziamo nel back-end si basano sul modello relazionale con protocolli e sintassi completamente diversi da seguire. Hibernate è una delle piattaforme middleware per colmare questa lacuna. Questa applicazione middleware che ho chiamato Object Relational Mapping (ORM). Abbiamo vari strumenti ORM come Hibernate, IBatis, Toplink e molti altri. In questo articolo, ci concentreremo su Hibernate e le sue sessioni.

Che cos'è l'ibernazione?

È lo strumento ORM utilizzato per collegare e mappare gli oggetti nel livello applicazione al database per il linguaggio di programmazione JAVA. È costruito per gestire la discrepanza di impedenza tra un tipico linguaggio di programmazione e il database relazionale. È un software gratuito con licenza GNU, può essere facilmente scaricato da Internet.

Hibernate è un'estensione dell'API di persistenza JAVA. Supporta il linguaggio Hibernate Query (HQL). Il ruolo principale di Hibernate è quello di collegare gli oggetti e le classi JAVA alle classi del database tramite la struttura XML o le annotazioni JAVA. Allo stesso modo, i tipi di dati di JAVA devono essere abbinati ai tipi di dati del database in modo che vi sia una comunicazione errata tra due sistemi diversi. L'ibernazione può essere utilizzata per estrarre i dati utilizzando le query. Può generare chiamate SQL e quindi mitigare gli errori manuali e il lavoro dello sviluppatore. Esistono diverse funzioni integrate in ibernazione per facilità d'uso come:

load (), update (), get (), merge (): Se siamo sicuri che l'oggetto esiste, allora usiamo questa funzione per caricare l'oggetto ibernazione, altrimenti usiamo la funzione get (). Le funzioni di aggiornamento e unione vengono utilizzate per aggiornare i record del database in base alle sessioni correnti già esistenti o siamo sessioni totalmente nuove per la transazione. Esistono molte altre funzioni come questa per supportare l'ibernazione.

Che cos'è la sessione di ibernazione?

È un'interfaccia di runtime tra un'applicazione e Hibernates che viene creata su richiesta. In altre parole, fornisce la connettività tra l'applicazione e il database. Offre varie funzioni come creare, eliminare, ottenere, aggiornare per operare sul database utilizzando i metodi di sessione esistenti in quattro stati, ovvero: Transitorio, Persistente e Staccato, Rimosso.

Hibernate ha creato per questo scopo. Collega senza problemi il database al linguaggio Java indipendentemente da qualsiasi database. Viene fornito con funzionalità flessibili e quindi promuove la flessibilità di gestione dei dati su piattaforme diverse.

Metodi di sessione di ibernazione

  1. Save (): il metodo Save () genera la chiave primaria e inserisce il record nel database. È simile al metodo persist () in JPA ma si comporta in modo diverso in un'istanza separata creando il record duplicato al commit del database.
  2. Update (): Update () viene utilizzato per aggiornare il record del database esistente. Restituisce un'eccezione se il record non viene trovato o chiamato in un'istanza temporanea.
  3. saveOrUpdate (): salva o aggiorna il database in base all'entità passata. Non restituisce un'eccezione nello stato transitorio ma rende persistente lo stato durante un'operazione di database.
  4. merge (): i valori di un'entità staccata vengono aggiornati nel database quando si utilizza merge () cambiando l'entità staccata nello stato persistente.
  5. delete (): il metodo Delete funziona in modalità persistente per rimuovere l'entità dal database. Viene restituita un'eccezione se non viene trovato alcun record nel database.

Come creare una sessione di ibernazione?

Per creare una sessione di ibernazione, dobbiamo caricare le dipendenze di ibernazione nella libreria dello strumento che state utilizzando insieme al connettore del database. Una volta caricate queste librerie, possiamo stabilire la connessione creando una sessione usando il factory di sessione.

Supponiamo di avere una tabella con due colonne: ID dipendente e Nome dipendente che devono essere aggiornati.

Snippet di codice:

import.org.hibernate.session // In questo modo importiamo la classe di ibernazione nel programma principale.
public class testclasshibernate // dichiarazione di classe.
(
public static void main (string () args) // L'esecuzione principale del programma inizierà da qui.
(
testprogram = nuovo programma (); // Qui la classe viene oggettificata e quindi questo oggetto viene utilizzato come riferimento per inviare valori come il nome e l'ID del dipendente che devono essere importati nella tabella del database.
program.setEmpId (101);
program.setEmpName ( “Utente 1”);
Configuration con = new Config (). Configure (). AddAnnotedClass testclasshibernate;
// Crea factory di sessione usando la configurazione
SessionFactory sf1 = con.buildsessionfactory ();
// Il metodo Open session fornisce l'oggetto della sessione.
Sessione s1 = sf.OpenSession ();
// Transazione di apertura
Transazione t1 = session.beginTransaction ();
Session.save (testprogram);
tx.commit ();
)
)

Vantaggi della sessione di ibernazione

  • La sessione di ibernazione è conforme alle proprietà ACID (Atomicità, Coerenza, Isolamento e Durabilità) del database.
  • La mappatura degli oggetti è coerente e quindi riduce molti potenziali bug e scappatoie dal codice.
  • È indipendente dal database, quindi anche se esiste un database come mySQL o Oracle, questo software può essere utilizzato.
  • Non è necessario conoscere le conoscenze di base di SQL solo su di esso dovrebbe aiutarti a capire come funziona.
  • Facile da creare associazioni e molta guida presente in rete. Java ampiamente utilizzato con un'associazione a un database in rete può c = fare il massimo uso di questo software se usato con saggezza.
  • Il codice minimo cambia in caso di modifiche alle tabelle poiché tutto viene gestito tramite classe e oggetti. La maggior parte del codice e delle funzionalità sono generici, rendendolo quindi più degno di essere utilizzato in applicazioni che hanno molta dipendenza dai dati transazionali.
  • Hibernate supporta la memorizzazione nella cache multilivello, migliorando così l'efficienza di codifica.

Conclusione

C'è stata una discrepanza storica dei dati del database e dei dati gestiti tramite qualsiasi linguaggio di programmazione esterno al database. Per risolvere questo problema è stata progettata una nuova soluzione chiamata "ORM". I dati che sono archiviati in forma tabellare in un database ora possono essere recuperati dal database e possono essere gestiti sotto forma di oggetti nel linguaggio di programmazione, eliminando quindi l'uso di query SQL.

Articoli consigliati

Questa è una guida alla sessione di ibernazione. Qui discutiamo cos'è la sessione di ibernazione e di ibernazione? insieme a metodi e vantaggi. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Hibernate vs JPA
  2. Che cos'è CSRF?
  3. Spring vs Spring Boot
  4. Hibernate vs JDBC