Le 10 migliori domande e risposte sull'intervista di Hibernate (aggiornato per il 2019)

Sommario:

Anonim

Introduzione al letargo Intervista Domande e risposte

Hibernate è uno strumento di mappatura di oggetti che aiuta a semplificare la connessione dell'applicazione con database.it fornisce la mappatura di oggetti java con tabelle di database significa che mappa la classe java con la tabella nel database. Il nome della tabella e della classe dipende dalla scelta dello sviluppatore dello sviluppatore. Ha una funzione per dare il nome in base alle esigenze dell'azienda. Semplifica la connettività del database dell'applicazione. Hibernate fornisce anche un linguaggio di query indipendente dal database che è noto come HQL - linguaggio di query di ibernazione. è una versione orientata agli oggetti del linguaggio SQL che consente all'applicazione di migrare facilmente con altri database in caso di modifica del database in futuro.

Hibernate offre anche molte altre funzionalità come la creazione automatica di tabelle, questa è una delle funzionalità più potenti di Hibernate. Per supportare solo questo dobbiamo fare una piccola configurazione nel file XML, dopodiché tutto si occupa solo dell'ibernazione. Hibernate fa un controllo sporco significa che controlla sempre lo stato dell'oggetto Java se rileva cambiamenti nello stato dell'oggetto che aggiorna automaticamente il database. ha una cattura di secondo livello abilitata atomicamente che aiuta a migliorare le prestazioni dell'applicazione. Queste sono le potenti funzionalità di Hibernate.

Ora, se stai cercando un lavoro correlato a Hibernate, allora devi prepararti per le domande di intervista di Hibernate del 2019. È vero che ogni colloquio è diverso secondo i diversi profili professionali. Qui, abbiamo preparato le importanti domande e risposte dell'intervista di Hibernate del 2019 che ti aiuteranno a ottenere il successo nel tuo colloquio.

Di seguito sono elencate le 10 importanti domande e risposte sull'intervista di Hibernate che vengono poste frequentemente in un'intervista. Queste domande sono divise in due parti:

Parte 1 - Hibernate Interview Questions (Basic)

Questa prima parte tratta le domande e le risposte di base dell'intervista di Hibernate.

1) Differenzia tra get e load in Hibernate?

Risposta:
Il metodo Get colpisce sempre il database se non trova un oggetto memorizzato nella cache. Fornisce un oggetto completamente inizializzato che può comportare diverse chiamate di database che possono peggiorare le prestazioni dell'applicazione, mentre il metodo load può restituire l'oggetto proxy se un oggetto non viene memorizzato nella cache, colpisce il database per tutti i metodi dell'oggetto tranne il metodo getId () . Se un oggetto non trova da nessuna parte il metodo get, restituisce il valore null mentre il metodo load genererà l'eccezione ObjectNotFoundException. Quindi possiamo usare questi metodi secondo i nostri requisiti.

2) Qual è la differenza tra, oggetto persistente, transitorio e distaccato?

Risposta:
In Hibernate, ci sono 3 stati dell'oggetto indicati di seguito.

Questi sono transitori, persistenti, distaccati. Qualsiasi oggetto sarà nello stato di persistenza se è associato alla sessione di ibernazione. qualsiasi modifica nell'oggetto corrente verrà riflessa nel database in base alla nostra strategia di flush. Lo scarico automatico si verifica ogni volta che qualsiasi proprietà di oggetto cambia o lo scaricamento esplicito chiamando il metodo flush () della classe Session Nel caso di un'istanza precedentemente associata a un contesto persistente, ma ora non è più associata, è stato distaccato.

Passiamo alle prossime domande sull'intervista di Hibernate.

3) È possibile rendere definitiva una Classe di entità ibernazione?

Risposta:
Sì, è possibile rendere definitiva una classe Hibernate Entity, ma non è una buona pratica. Poiché Hibernate utilizza un modello proxy per il miglioramento delle prestazioni dell'applicazione e, nel caso dell'associazione pigra, rendendo una classe di entità come finale, Hibernate non sarà più in grado di utilizzare un proxy, un motivo alla base di ciò è che Java non consente l'estensione della classe finale; limita le opzioni di miglioramento delle prestazioni. Tuttavia, possiamo risolvere questo problema se la nostra classe persistente è un'implementazione di un'interfaccia, che dichiara tutti i metodi pubblici definiti nella classe Entity.

4) Spiegare la cache delle query?

Risposta:
Queste sono le domande frequenti sull'intervista di Hibernate poste in un'intervista. La cache delle query viene utilizzata per archiviare il risultato della query SQL per chiamate future per il miglioramento delle prestazioni. Può anche essere utilizzato insieme a una cache di secondo livello di ibernazione per migliorare le prestazioni dell'applicazione. Hibernate ha molte soluzioni di memorizzazione nella cache open source per implementare la cache delle query.

5) Perché è necessario non fornire alcun costruttore di argomenti in Entità?

Risposta:
La classe di entità deve contenere un costruttore senza argomenti, poiché il framework Hibernate crea un oggetto di queste classi utilizzando l'API Reflection, chiamando il nuovo metodo Instance () della classe Class. Questa eccezione verrà generata da questo metodo se non trova alcun costruttore di argomenti all'interno della classe Entity.

Parte 2 - Hibernate Interview Questions (Advanced)

Diamo ora un'occhiata alle domande avanzate di intervista di Hibernate.

6) Spiegare il metodo lock () della sessione in Hibernate?

Risposta:
Il metodo lock () della classe di sessione viene utilizzato per ricollegare l'oggetto senza aggiornare o sincronizzarsi con il database. Quindi dobbiamo stare molto attenti durante l'utilizzo di questo metodo. Possiamo sempre utilizzare il metodo update () per la sincronizzazione con il database durante il riattacco.

7) Spiegare la cache di secondo livello in Hibernate?

Risposta:
La cache di secondo livello viene mantenuta a livello di Session Factory e utilizzata per migliorare le prestazioni dell'applicazione salvando alcuni round trip di database. È anche disponibile per l'intera applicazione piuttosto che per qualsiasi sessione particolare

Passiamo alle prossime domande sull'intervista di Hibernate.

8) Quali sono i vantaggi di ibernazione su JDBC?

Risposta:
Hibernate può essere utilizzato con qualsiasi tipo di database perché è indipendente dal database mentre in JDBC, lo sviluppatore deve scrivere query specifiche del database.
In ibernazione, non è necessario essere esperti nella scrittura di tipi complessi di query, poiché HQL semplifica il processo di scrittura delle query mentre, nel caso di JDBC, uno sviluppatore deve scrivere e ottimizzare le query.
In ibernazione, non è necessario creare pool di connessioni poiché l'ibernazione esegue automaticamente la gestione di tutte le connessioni In JDBC, i pool di connessioni devono essere creati dallo sviluppatore

9) In quanti modi gli oggetti possono essere identificati e quali sono le diverse modalità di recupero in Hibernate?

Risposta:
Queste sono le domande più frequenti sull'intervista di Hibernate in un'intervista. Per l'identificazione dell'oggetto, di seguito sono elencati tre modi.
Utilizzo dell'identità del database: gli oggetti del database relazionale possono essere identificati se rappresentano la stessa riga.
Utilizzo dell'uguaglianza degli oggetti: utilizzo del metodo equals ().
Utilizzo dell'identità oggetto: utilizzo dell'operatore ==.

Di seguito sono riportate le strategie di recupero disponibili in ibernazione:

Recupero batch
Unisciti a Fetching
Seleziona sottostanti Recupero
Seleziona Recupero

10) Indica il nome delle poche interfacce del framework Hibernate?

Risposta:
Session Factory: è una cache thread-safe immutabile di mapping compilati per un singolo database. Dobbiamo inizializzarlo una volta, quindi possiamo memorizzarlo nella cache e riutilizzarlo. la sua istanza viene utilizzata per ottenere gli oggetti Session per varie operazioni del database.

Session è un oggetto a thread singolo e di breve durata che rappresenta un'interfaccia tra l'applicazione e l'archivio persistente. Avvolge JDBC java.sql.Connection e funziona come factory per Transaction. Devi aprire una sessione solo quando è necessario e chiuderla non appena hai finito di usarla. Un oggetto sessione è l'interfaccia tra il codice dell'applicazione Java e il framework di ibernazione e fornisce vari metodi per le operazioni CRUD in Java.

Transazione): è un oggetto a thread singolo e di breve durata utilizzato dall'applicazione java per specificare unità di lavoro atomiche. Estrae l'applicazione dalla transazione JTA sottostante o JDBC. Una sessione potrebbe contenere più Transazioni in alcuni casi.

Articoli consigliati

Questa è stata una guida all'elenco delle domande e risposte sull'intervista di Hibernate in modo che il candidato possa facilmente reprimere queste domande sull'intervista di Hibernate. Qui in questo post, abbiamo studiato le principali domande di intervista di Hibernate che vengono spesso poste nelle interviste. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Domande di intervista WCF
  2. Domande di intervista Docker
  3. Quadro di primavera Domande di intervista
  4. Domande di intervista PLSQL