Le 50 migliori domande e risposte per l'intervista in ibernazione [per principianti ed esperti]

Pubblicato: 2020-12-15

Sommario

introduzione

Hibernate è una tecnica leggera e open source in Java, in questo blog capiremo il processo e il meccanismo di Hibernate con le "50 domande di intervista di Hibernate con le risposte.

Cos'è l'ibernazione?

Hibernate è uno strumento leggero di mappatura relazionale a oggetti open source. Fornisce un framework per mappare i modelli di dominio orientati agli oggetti su database relazionali per applicazioni web-based.

Ecco alcune domande che dovremmo porre sui requisiti dell'applicazione prima di adattare Hibernate:

  1. Quale modello di dati possiamo utilizzare per lo sviluppo del nuovo progetto, la progettazione di applicazioni o il modello di dati?
  2. Qual è il livello di prestazioni della cache?
  3. Come possiamo definire una scrittura semplice o complessa?
  4. A cosa serve la scalabilità e in quale scenario possiamo utilizzarla?
  5. In quale scenario è importante il controllo automatico delle versioni del database?
  6. Abbiamo bisogno della persistenza relazionale per JAVA?
  7. Qual è l'uso del supporto per il linguaggio di query e in quale scenario possiamo usarlo?
  8. Quali sono i processi di Transparent Persistence e il loro impatto sul progetto?

Strumento ORM

Interpreta la creazione, la manipolazione dei dati e l'accesso ai dati. È un approccio di programmazione che associa l'oggetto ai dati archiviati nel database.

Che cos'è il quadro di ibernazione?

Hibernate è una soluzione di mappatura degli strumenti ORM basata su Java basata su oggetti. È una mappatura relazionale di oggetti che è la procedura di programmazione per mappare gli oggetti del modello del dominio dell'applicazione alle tabelle del database relazionale. Implementa una fonte di implementazione dell'API Java Persistence che offre una scelta eccellente come strumento ORM con i vantaggi dell'accoppiamento libero.

Vantaggi di Hibernate Framework

  1. Leggero con prestazioni veloci: le prestazioni del framework Hibernate sono agili con l'aiuto di una cache, che funziona internamente nel framework Hibernate. La cache nel framework Hibernate è la cache di primo livello e la cache di secondo livello.
  2. Query autonoma del database: HQL (Hibernate Query Language) è la variante orientata agli oggetti di SQL. Crea query di database indipendenti senza scrivere query specifiche del database.
  3. Creazione automatica di tabelle: il framework Hibernate offre la capacità di generare automaticamente le tabelle del database. Senza creare manualmente tabelle nel database.
  4. Semplifica l'unione complessa: il recupero dei dati dalle tabelle aggregate è facile nel framework Hibernate.
  5. Accoglie le statistiche delle query e lo stato del database: Hibernate mantiene la cache delle query e fornisce risultati rapidi delle statistiche.

Architettura in letargo

L'architettura Hibernate consolida molti oggetti come un oggetto persistente, una produzione di sessioni, una produzione di transazioni, una produzione di connessioni, una sessione, una transazione.

L'architettura di ibernazione è classificata in quattro livelli:

  • Livello dell'applicazione Java
  • Ibernazione del livello del framework
  • Livello API rovescio
  • Livello database

Perché dovremmo scegliere il processo di ibernazione?

Di seguito sono elencate le tecniche e il processo che possiamo utilizzare quando iniziamo l'adattamento del processo:

  • Hibernate consente agli sviluppatori di determinare i campi del tipo di versione nell'applicazione, che possono essere modificati in dati in tempo reale; questa funzionalità fornisce all'utente la possibilità di salvare i dati e di modificarli allo stesso tempo.
  • Hibernate implementa l'assistenza per le annotazioni JPA Ad esempio: @Entity, @Table, @Col, ecc.
  • In Hibernate, il pool di connessioni è una tecnica nelle connessioni al database quando creiamo e memorizziamo nella cache tramite uno strumento esterno, queste connessioni possiamo riutilizzarle dalla cache stessa in futuro se dovessimo riutilizzarle per connetterci allo stesso database in la nostra applicazione che abbiamo creato
  • Hibernate estende il miglior grado di scalabilità in qualsiasi ambiente. Può essere praticato per progetti di tutte le dimensioni, da un'app su piccola scala a una utilizzata da milioni di persone.
  • In Hibernate, il controllo delle versioni del database è uno strumento importante che supporta la prevenzione del rollback involontario delle modifiche da parte di altri utenti. Consente la registrazione dei tipi di versione all'interno di un'applicazione. Quando i dati vengono aggiornati o archiviati, un tipo di versione e un timestamp, possiamo anche registrare per il monitoraggio.
  • Hibernate implementa la persistenza trasparente e lo sviluppatore non ha bisogno di scrivere codice in modo esplicito per mappare le tuple della tabella del database agli oggetti dell'applicazione durante l'interazione con RDBMS.
  • In Hibernate, la gestione delle transazioni è il metodo per eseguire una serie di istruzioni o comandi. In Hibernate, la gestione delle transazioni viene eseguita dall'interfaccia delle transazioni.

Cinque motivi per considerare Hibernate su JDBC

  1. Risolve complessi problemi di mancata corrispondenza tra oggetti:

Fornisce una soluzione rapida in un linguaggio di programmazione orientato agli oggetti con un database relazionale.

Esempio: le discrepanze nei tipi di dati, le differenze strutturali e di integrità, le eccezioni manipolative e transazionali possono causare disallineamenti complessi tra oggetti e relazioni.

2. Mappatura automatica degli oggetti:

JDBC e Hibernate si trovano nel fatto che supporta la mappatura automatica degli oggetti". Transparent Persistence ", questo metodo consente a Hibernate di redigere tabelle di database sugli oggetti dell'applicazione tramite l'interazione.

  1. Hibernate Query Language (HQL)

Hibernate gestisce SQL (Structured Query Language). JDBC supporta solo SQL, Hibernate Query Language (HQL) è correlato a SQL in quanto è un linguaggio di query orientato agli oggetti. Per collegare il modo, HQL interpreta le query verso le query SQL che possono quindi avviare operazioni nel database.

  1. Indipendenza dal database

Hibernate fornisce la mappatura della connessione di tabelle di dati e applicazioni tramite file XML; fornisce modi migliori per trasferire i dati a un nuovo database, se necessario. Mentre le modalità di accesso alle banche dati, le informazioni sono obbligatorie, se nel caso del loro riutilizzo. La memorizzazione nella cache è un componente essenziale per le prestazioni del database, che riduce i tempi e supporta le applicazioni in tempo reale.

  1. Pool di connessioni in ibernazione:

L'ibernazione può ottenere prestazioni più affidabili; fornisce “connection pooling”; questo è un processo per raccogliere le connessioni al database nella cache. Queste connessioni possono essere riutilizzabili dalla cache stessa se l'app tenta di connettersi più volte al database identico.

Domande e risposte per l' intervista in ibernazione

Domanda: 1 Come si configura Hibernate per scrivere le istruzioni SQL eseguite e utilizzare i parametri di collegamento al file di registro?

Risposta: Ecco i passaggi seguenti:

Crea due diverse sezioni di registro e livelli di registro per registrare le istruzioni SQL eseguite e i parametri di collegamento:

  • Categoria org.hibernate.SQL .
  • categoria org.hibernate.type.descriptor.sql con livello di log TRACE.

Domanda:2 Descrivi le tue caratteristiche preferite del framework Hibernate.

Risposta: Strumento ORM, Hibernate fornisce un potente linguaggio di query (HQL)

Domanda: 3 Come puoi differenziare Entity Beans e Hibernate.

Risposta: i bean di entità sono contenitori, classi, descrittori. Hibernate è uno strumento che mantiene istantaneamente l'albero degli oggetti in una classe.

Domanda:4 Spiegare il processo dell'oggetto Session e come possiamo usarlo in una cache di primo livello e in una cache di secondo livello?

Risposta: Caching di primo livello : inizia con ogni sessione di base, con un oggetto " sessione " .

Caching di secondo livello: può essere condivisibile oltre più sessioni .

Domanda:5 Come funziona l'ereditarietà in Hibernate? Quali sono le varie strategie disponibili per implementarlo?

Risposta: Tre tipi di eredità:

  1. Tabella per gerarchia
  2. Tavolo per classe di calcestruzzo
  3. Tabella per sottoclasse

Domanda:6 Come funziona il blocco in ibernazione? Quali sono i vari meccanismi di chiusura disponibili?

Risposta: I meccanismi di blocco sono ottimisti e pessimisti Domanda:7 Come funziona la gestione delle transazioni in Hibernate?

Risposta: Funziona con l'aiuto di (JTA, JDBC).

Domanda:8 Che cos'è il caricamento lento in Hibernate?

Risposta: Questo meccanismo sugli enti e le loro associazioni implementando una delega di classi.

Domanda:9 Quali sono le varie strategie di recupero disponibili in Hibernate?

Risposta: unisciti al recupero e seleziona il recupero

Domanda: 10 Quali sono le varie strategie di recupero disponibili in Hibernate?

Risposta: Join-Fetching e Select Fetchings sono i recuperi disponibili in Hibernate.

Domanda: 11 Qual è la differenza tra i metodi gets () e load() in Hibernate?

Risposta : get() e load() che vengono utilizzati per recuperare i dati per l'identificatore assegnato. Il metodo Get() restituisce null, il metodo load() genera un errore di tipo oggetto non trovato di eccezione.

Domanda: 12 Perché non dovresti rendere definitiva la classe di entità?

Risposta: viene utilizzato per l'associazione di entità .

Domanda: 13 Spiega i vantaggi e gli svantaggi degli oggetti staccati.

Risposta: Si è connesso con la sessione di Ibernazione in passato; ha una descrizione nel database

Domanda: 14 Che cos'è Hibernate Query Language (HQL)?

Risposta: Si basa su concetti OOPS.

Domanda: 15 Indica il ruolo svolto dall'interfaccia SessionFactory in Hibernate.

Risposta: È un processo di un oggetto thread-safe e può essere utilizzato nel processo del thread dell'applicazione

Domanda: 16 Qual è il vantaggio di Hibernate rispetto a JDBC?

Risposta: Fornisce le prestazioni e la scalabilità più veloci.

Domanda: 17 Descrivi alcuni database gestiti da Hibernate.

Risposta: database relazionale che utilizza JDBC.

Domanda: 18 Come puoi differenziare il metodo session.save() e session.persist()?

Risposta: Session.save() è usato per salvare l'oggetto nel database e session.persist() per oggetti transitori e persistenti.

Domanda: 19 Spiega il metodo di aggiornamento e unione?

Risposta: Può essere utilizzato per trasformare l'oggetto, che è in uno stato distaccato.

Domanda:20 È possibile eseguire la mappatura della raccolta con One-to-One e Many-to-One?

Risposta: può essere utilizzato in una tabella mappata su molte righe in un'altra tabella.

Domanda:21 Come eseguire una transazione in Hibernate?

Risposta: Con l'aiuto della dichiarazione di classe @transctional, possiamo eseguire una transazione.

Domanda: 22 Dove sono rappresentate le mappature di oggetti/relazionali in Hibernate?

Risposta: Hibernate ORM è un oggetto/mapping relazionale.

Domanda:23 Qual è il tuo pensiero su Light Object?

Risposta: Sessione, Query, Criteri, Transazione sono il concetto di Light Object.

Domanda: 24 Che cos'è @Transient in ibernazione? Qual è il vantaggio di questo?

Risposta: @ Transient Si è applicato in javax, il suo pacchetto di persistenza.

Domanda: 25 Come combinare Struts Spring Hibernate?

Risposta: Con l'aiuto di ContextLoaderPlugIn, possiamo combinare.

Domanda: 26 Spiega la registrazione di Hibernate Log4j.

Risposta: è costituito dal file By log4j.xml e dal file log4j.properties.

Domanda: 27 Come possiamo limitare gli aggiornamenti simultanei in Hibernate?

Risposta: Con l'aiuto del processo di blocco pessimistico, possiamo limitare gli aggiornamenti simultanei.

Domanda: 28 Quali sono i metodi migliori per determinare le classi persistenti di ibernazione?

Risposta: Esistono molti metodi e pratiche ottimali che è possibile utilizzare con la mappatura della classe persistente e dei suoi meccanismi.

Domanda: 29 Qual è il concetto di Modifica di oggetti persistenti?

Risposta: gli oggetti persistenti vengono perseguiti in modalità ibernazione e vengono archiviati nel database quando si verifica una richiesta di commit.

Domanda: 30 Che cos'è una relazione bidirezionale da uno a molti in ibernazione?

Risposta: È il Riferimento dell'handle dell'attributo di associazione delle molte viste come beneficio dell'attributo mappedBy, Hibernate ha tutta l'erudizione di cui ha bisogno. Con questi processi, dobbiamo definire un'associazione molti-a-uno bidirezionale.

Leggi: Competenze per diventare uno sviluppatore full stack

Domanda: 31 Che cos'è la sostituzione del valore nel lavoro del pacchetto di risorse del messaggio?

Risposta: ResourceBundleMessageInterpolator di Hibernate Validator genera due istanze di ResourceBundleLocator, una per la convalida definita dall'utente Messaggi di convalida standard: defaultResourceBundleLocator .

Domanda: 32 Spiegare il processo dell'ordine di esecuzione delle istruzioni SQL.

Risposta: La cache di secondo livello in un ordine particolare a causa dei vincoli di chiave esterna non può essere interrotta: inserimenti, aggiornamenti, eliminazione di elementi dell'array, inserimento di elementi dell'array, eliminazioni, nella direzione in cui sono stati presentati

Domanda: 33 Come è possibile impostare la cache di 2° livello in Hibernate con EHCache?

Risposta: Terracotta Ehcache è una cache moderna che funzionava come cache di secondo livello di ibernazione . Può essere praticato come cache standalone di secondo livello .

Domanda: 34 Qual è la principale varianza tra Entity Beans e Hibernate?

Risposta: i bean di entità continuano a essere eseguiti da descrittori, contenitori, classi. L' ibernazione è solo un meccanismo che subisce immediatamente l'albero degli oggetti in una gerarchia di classi in un database.

Domanda: 35 Spiega i passaggi per partecipare gestiti utilizzando Hibernate?

Risposta: Con l'aiuto di SQL Join, possiamo gestirlo.

Domanda: 36 Spiega il processo di ibernazione proxy?

Risposta: Il proxy Hibernate Questo si riferisce a Hibernate quando chiamiamo Session. carico().

Domanda: 37 Qual è il vantaggio principale dell'utilizzo di Hibernate rispetto all'utilizzo di SQL?

Risposta: Con la pratica di ORM e con l'uso di Hibernate , quindi l'utilizzo di SQL è che Hibernate evita di scrivere query su larga scala.

Domanda: 38 Spiega i modelli di progettazione che possiamo usare in Hibernate?

Risposta : il modello proxy, il modello di dominio e il modello a oggetti sono i modelli di progettazione.

Leggi anche: Carriera in Full Stack Development

Domanda: 39 Spiega l'architettura di Hibernate.

Risposta: Hibernate ha un'architettura a più livelli che consente all'utente di gestire senza dover comprendere le API sottostanti

Domanda: 40 Elencare i tipi di dati supportati in Hibernate?

Risposta: IntegerType, FloatType, DoubleType, CharacterType, ShortType.

Domanda: 41 Che cos'è (JDO, CMP)?

Risposta: le sue tecnologie di persistenza Java.

Domanda: 42 Qual è la principale variazione tra la primavera e l'ibernazione?

Risposta: Spring e Hibernate sono due framework separati. Contratti primaverili con amplificazione del flusso della domanda. Hibernate riguarda l'interazione tra l'applicazione e il database.

Domanda: 43 Quando possiamo trovare le soluzioni ORM in Hibernate?

Risposta: Hibernate è il concetto di soluzione Object/Relational Mapping (ORM) per Java; il termine Object/Relational Mapping riguarda la procedura di mappatura dei dati tra una descrizione di un modello a oggetti e una descrizione di un modello di dati relazionale.

Domanda: 44 Menziona la procedura passo passo per completare una transazione in Hibernate.

Risposta: con l'aiuto delle proprietà ACID-> (Atomicità, Consistenza, Isolamento e Durabilità).

Domanda: 45 Dove sono le mappature in Hibernate?

Risposta: I mapping di Hibernate sono le caratteristiche di Hibernate; organizzano la connessione tra due tabelle di database mentre gli attributi nel tuo modello. Ciò ti consente di guidare rapidamente le associazioni nelle query sul modello e sugli standard.

Domanda: 46 Puoi toccare i vari tipi di relazioni possibili nella mappatura di Hibernate?

Risposta: Uno a uno, Molti a uno, Uno a molti, Molti a molti.

Domanda: 47 Dove possiamo definire le mappature degli oggetti in Hibernate?

Risposta: Conversione di oggetti Java in query SQL per la memorizzazione dei dati.

Domanda: 48 Puoi elencare i numerosi tipi di raccolta in Hibernate?

Risposta: HashMap, HashSet, TreeSet e Arraylist sono i tipi di raccolta in Hibernate.

Domanda:49 Qual è il processo di recupero dei dati dal database in Hibernate?

Risposta: Con l'aiuto dei criteri di sospensione utilizzando la funzione API beginTransaction() con la sessione, possiamo recuperare i dati.

Domanda: 50 Spiegare i file di mappatura di Hibernate tramite l'uso delle annotazioni JPA @NamedQuery e @NamedNativeQuery.

Risposta: @NamedQuery e @NamedNativeQuery sono i tipi di query HQL, che gestiscono le complessità della trasformazione dell'HQL nei numerosi dialetti SQL.

Iscriviti ai corsi di ingegneria del software dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Conclusione

Ci auguriamo che questo articolo ti abbia aiutato a comprendere le 50 principali domande sull'"intervista" di ibernazione per principianti e professionisti.

Se sei interessato a saperne di più sullo sviluppo di software full-stack, dai un'occhiata al programma Executive PG di upGrad & IIIT-B in Full-stack Software Development, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti, e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.

Atterra sul lavoro dei tuoi sogni

Candidati ora per un Master in Ingegneria del Software