Tutorial di ibernazione per principianti

Pubblicato: 2022-09-26

Hibernate open source è un framework Java OOP gratuito utilizzato nelle applicazioni Web per mappare modelli di dominio orientati agli oggetti con database relazionali.

È possibile utilizzare HQL e SQL per interrogare i database e abilitare una robusta mappatura relazionale degli oggetti. Tuttavia, l'implementazione della mappatura ORM in Java si semplifica con Hibernate, riducendo le complessità significative nell'applicazione ed è vantaggiosa per le persone che possiedono una conoscenza fondamentale di SQL.

Dai un'occhiata ai nostri corsi gratuiti relativi allo sviluppo software.

Sommario

Esplora i nostri corsi gratuiti di sviluppo software

Fondamenti di Cloud Computing Nozioni di base su JavaScript da zero Strutture dati e algoritmi
Tecnologia Blockchain Reagire per i principianti Nozioni di base su Java
Giava Node.js per principianti JavaScript avanzato

Architettura di Hibernate

La configurazione di ibernazione viene in genere archiviata nella sezione delle proprietà o nei file hibernate.cfg.xml. Quando si cerca la configurazione Java, cercare le classi contrassegnate con l'annotazione @Configuration.

Per iniziare a lavorare con un'applicazione Java e un database, iniziare con Session Factory. L'oggetto rappresenta l'intera raccolta di mapping tra i tipi Java di un'applicazione e un database SQL.

Session Factory

Qualsiasi applicazione utente può richiedere un oggetto sessione contattando Session Factory. Session Factory utilizza le informazioni di configurazione incluse nei file per creare l'oggetto sessione. Le interazioni dell'applicazione e del database in momenti diversi sono incluse in una sessione e una classe di sessione lo rappresenta.

Domanda

I programmi applicativi possono interrogare il database per uno o più elementi archiviati utilizzando il linguaggio di interrogazione. Hibernate offre una varietà di approcci, tra cui NamedQuery e Criteria API, per interrogare i database.

Cache di primo livello

La cache utilizzata dall'oggetto Hibernate Session che comunica con il database al primo livello è chiamata cache di primo livello, nota anche come cache di sessione. È responsabile della memorizzazione nella cache degli elementi nella sessione corrente. Ogni richiesta dall'oggetto Session al database deve viaggiare tramite la cache di primo livello o la cache di sessione prima di raggiungere il database. Pertanto, è essenziale notare che la cache di primo livello rimane accessibile con l'oggetto sessione fino a quando non è più attivo.

Transazioni

Le transazioni consentono di stabilire la coerenza dei dati con la possibilità di eseguire il rollback se qualcosa va storto.

Oggetti persistenti

Gli oggetti persistenti sono oggetti Java tradizionali (POJO) salvati nel database come righe nella tabella collegata dal framework Hibernate. I file di configurazione di ibernazione configurano questi oggetti o li contrassegnano con l'annotazione @Entity.

Cache di secondo livello

La cache di secondo livello tiene traccia delle cose su diverse sessioni. Abilita e fornisci al provider di cache l'utilizzo della cache di secondo livello. Ad esempio, EhCache è un popolare provider di cache di secondo livello in molte applicazioni.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Esplora i nostri corsi di ingegneria del software popolari

Master of Science in Informatica presso LJMU e IIITB Programma di certificazione di sicurezza informatica Caltech CME
Bootcamp di sviluppo full stack Programma PG in Blockchain
Programma Executive PG in Full Stack Development
Visualizza tutti i nostri corsi qui sotto
Corsi di ingegneria del software

Caratteristiche chiave del quadro di ibernazione

Hibernate è un framework di mappatura degli oggetti di dominio Java progettato per gestire le tabelle di database. Il framework semplifica il lavoro sugli elementi del database utilizzando oggetti Java anziché istruzioni SQL. Inoltre, la gestione delle transazioni, la creazione automatizzata della chiave primaria, la gestione delle connessioni al database e le implementazioni associate contribuiscono al processo di sviluppo.

Lo standard Java Persistence API (JPA) è supportato dal provider JPA Hibernate. È una raccolta di standard per l'accesso, l'archiviazione e la gestione dei dati. È possibile sfruttare ulteriormente il vantaggio degli oggetti Java e collegarlo alle entità del database relazionale per garantire il supporto completo di JPA.

Alte prestazioni e scalabilità

Sebbene Hibernate possa crescere in qualsiasi ambiente, offre un'ampia gamma di funzionalità per il miglioramento delle prestazioni come il blocco ottimistico, l'inizializzazione pigra e molte altre tecniche.

Semplice da seguire

Poiché Hibernate non necessita di strutture o attributi di database personalizzati, può diventare difficile da gestire. Crea SQL durante l'avvio del sistema. Tuttavia, rispetto a JDBC, è più facile da mantenere.

Classi come AnnotationConfiguration, ServiceRegistryBuilder e altre sono state rapidamente deprecate nelle versioni precedenti di Hibernate.

Competenze di sviluppo software richieste

Corsi JavaScript Corsi di base in Java Corsi sulle strutture dei dati
Node.js Corsi Corsi SQL Corsi di sviluppo full stack
Corsi NFT Corsi DevOps Corsi sui Big Data
Corsi React.js Corsi di sicurezza informatica Corsi di cloud computing
Corsi di progettazione di database Corsi di Python Corsi di criptovaluta

I concetti di entità, uguaglianza e identità

Hibernate offre concetti aggiuntivi per confrontare oggetti o caratteristiche per soddisfare precise regole di business. Oltre alla conoscenza preesistente del controllo delle uguaglianze nel core Java, i concetti di Hibernate sono ugualmente importanti da mappare.

1. Mappature di associazione tra entità di ibernazione

Quando due entità sono connesse e referenziate in modo unidirezionale o bidirezionale, utilizzare le annotazioni JPA per annotare le classi java e trasformarle in entità permanenti. In primo luogo, tuttavia, è fondamentale afferrare alcuni concetti fondamentali prima di generare riferimenti tra entità Hibernate.

2. Entità/Persistenza sono due cose diverse

Un'istanza dell'oggetto mappata su Hibernate trasporta uno dei quattro stati: transitorio, permanente, scollegato o eliminato, a seconda dello stato dell'istanza dell'oggetto in questione.

3. Tipi di cascata in ibernazione e JPA

La proprietà "CascadeType" viene utilizzata nelle entità per abilitare gli effetti a cascata e inversi. Esistono diversi tipi di scelte a cascata accessibili tramite CascadeType.

Leggi i nostri articoli popolari relativi allo sviluppo software

Come implementare l'astrazione dei dati in Java? Che cos'è Inner Class in Java? Identificatori Java: definizione, sintassi ed esempi
Comprensione dell'incapsulamento in OOPS con esempi Spiegazione degli argomenti della riga di comando in C Le 10 principali caratteristiche e caratteristiche del cloud computing nel 2022
Polimorfismo in Java: concetti, tipi, caratteristiche ed esempi Pacchetti in Java e come usarli? Tutorial Git per principianti: impara Git da zero

Vantaggi delle annotazioni di ibernazione rispetto alle mappature

Prima delle annotazioni inline, l'unico metodo per creare i mapping di Hibernate erano i file XML. Anche se strumenti diversi da Hibernate e progetti di terze parti hanno consentito la produzione automatica di mappature dal sorgente Java, non è stato così.

Le annotazioni sono le mappature definite più recenti ma non le più efficaci.

Ecco alcuni vantaggi delle annotazioni Hibernate (o, più precisamente, JPA).

Hibernate Query Language [HQL] è un linguaggio di query per Hibernate

HQL condivide somiglianze con il linguaggio di query orientato agli oggetti SQL. Il suo funzionamento su oggetti permanenti anziché su tabelle e colonne mostra la funzionalità di un potente linguaggio di query.

JPQL, o Java Persistence Query Language, è un superset. Pertanto, una query JPQL valida è considerata una buona query HQL. Tuttavia, non tutte le query HQL valide sono query JPQL valide e viceversa.

Query per i criteri di ibernazione

Utilizzando l'API Criteria Query, è possibile costruire espressioni di query nidificate e strutturate in Java, consentendo la verifica della sintassi in fase di compilazione non ottenibile con un linguaggio di query come HQL o SQL. Oltre alla funzionalità di query per esempio (QBE), l'API dei criteri contiene altre funzionalità.

Ad esempio, fornire istanze di oggetti che possiedono le caratteristiche desiderate anziché spiegare i componenti della ricerca passo dopo passo può far risparmiare tempo e fatica. Contiene anche tecniche di proiezione e aggregazione, come il metodo di conteggio ().

Configurazione di Hibernate EhCache

La funzionalità di memorizzazione nella cache fornita dai framework ORM consente agli utenti di disporre di un'applicazione Web a esecuzione rapida consentendo al framework di ridurre le query eseguite nel database per una singola transazione. La memorizzazione nella cache è utile per gli utenti e il framework. Hibernate estende la memorizzazione nella cache sia al primo che al secondo livello della gerarchia.

Conclusione

Il software Hibernate è considerato un framework altamente funzionale per tutto ciò che riguarda Java. In questo tutorial di Hibernate, abbiamo trattato le basi dell'utilizzo di Hibernate.

Se desideri approfondire il framework Hibernate e comprendere il flusso applicativo end-to-end fondamentale che emerge dall'integrazione con il framework Spring 3, ti consigliamo di aderire al programma Executive PG di upGrad in Full Stack Development .

Il corso di 13 mesi è progettato per sviluppatori di software, professionisti IT, ingegneri, analisti, professionisti del supporto tecnico e neofiti che desiderano sviluppare una base sulle basi dell'informatica, operazioni di sviluppo software, creazione di siti Web scalabili, API di backend, ecc.

Il programma include oltre 10 strumenti e linguaggi di programmazione, oltre 7 casi di studio e progetti, campi di addestramento e accesso a Data Science e Machine Learning.

Non aspettare. Prenota oggi il tuo posto!

Come creare una SessionFactory nel framework Hibernate?

Qualsiasi applicazione utente può richiedere un oggetto sessione contattando Session Factory. Session Factory utilizza le informazioni di configurazione dai file per creare correttamente l'oggetto sessione.

Come configurare il pool di connessioni di sospensione e la memorizzazione nella cache?

Hibernate, per impostazione predefinita, utilizza le connessioni JDBC per comunicare con un sistema di database. Tuttavia, la creazione di queste connessioni è dispendiosa in termini di tempo, costosa e probabilmente l'attività singola più costosa che Hibernate eseguirà in uno scenario di utilizzo tipico. Alla luce del costo elevato della gestione delle connessioni JDBC, è possibile utilizzare il pool di connessioni, che stabilisce le relazioni in anticipo.

Che cos'è una classe persistente in Java?

Qualsiasi classe che aderisce a concetti orientati agli oggetti come ereditarietà e polimorfismo può essere una classe persistente in un'applicazione Java.