Top 10 vragen en antwoorden over winterslaap (bijgewerkt voor 2019)

Inhoudsopgave:

Anonim

Inleiding tot interviewvragen en antwoord in winterslaap

Hibernate is een hulpmiddel voor objecttoewijzing dat helpt bij het vereenvoudigen van de verbinding van de toepassing met database.it biedt de toewijzing van het Java-object met databasetabellen. Het wijst de Java-klasse toe aan de tabel in de database. Naam van de tabel en klasse hangt af van de ontwikkelaarkeuze van de ontwikkelaar. Het heeft een functie om een ​​naam te geven in overeenstemming met de vereisten van het bedrijf. Het maakt de database-connectiviteit van de applicatie soepel. Slaapstand biedt ook database-onafhankelijke zoektaal die bekend staat als HQL - slaapstand zoekvraag. het is een objectgeoriënteerde versie van SQL-taal die de toepassing helpt gemakkelijk te migreren met andere databases in geval van wijziging van de database in de toekomst.

Slaapstand biedt ook tal van andere functies, zoals het automatisch maken van tabellen. Dit is een van de krachtigste functies van slaapstand. Om dit alleen te ondersteunen, moeten we een kleine configuratie in het XML-bestand uitvoeren, waarna alles alleen door de slaapstand wordt verzorgd. Hibernate doet vuile controle betekent dat het altijd de status van het Java-object controleert als het wijzigingen in de status van het object vindt en de database automatisch wordt bijgewerkt. het heeft tweede niveau vangst atomisch ingeschakeld, wat helpt om de prestaties van de applicatie te verbeteren. Dit zijn de krachtige functies van Hibernate.

Als je nu op zoek bent naar een baan die gerelateerd is aan Hibernate, moet je je voorbereiden op de sollicitatievragen voor Hibernate 2019. Het is waar dat elk interview anders is volgens de verschillende functieprofielen. Hier hebben we de belangrijke 2019 Hibernate-interviewvragen en -antwoorden voorbereid die u zullen helpen om succes in uw interview te krijgen.

Hieronder staan ​​de 10 belangrijke Hibernate-interviewvragen en antwoorden die vaak worden gesteld in een interview. Deze vragen zijn als volgt verdeeld in twee delen:

Deel 1 - Interviewvragen in slaapstand (basis)

Dit eerste deel behandelt basisvragen en antwoorden over het Hibernate-interview.

1) Onderscheid maken tussen ophalen en laden in slaapstand?

Antwoord:
De methode Get raakt de database altijd als er geen object in de cache wordt gevonden. Het geeft een volledig geïnitialiseerd object dat meerdere databaseaanroepen kan bevatten, dit kan de prestaties van de toepassing verminderen, terwijl de laadmethode het proxy-object kan retourneren als een object niet in de cache wordt geplaatst, wordt het de database voor alle methoden van het object behalve de getId () -methode . Als een object nergens wordt gevonden, haalt u de methode null op en laadt de methode load de uitzondering ObjectNotFoundException. Dus we kunnen deze methoden gebruiken volgens onze vereisten.

2) Wat is het verschil tussen een persistent, voorbijgaand en losstaand object?

Antwoord:
In Hibernate zijn er 3 toestanden van het onderstaande object.

Deze zijn van voorbijgaande aard, persistent, afstandelijk. Elk object heeft de status persistentie als het is gekoppeld aan de slaapstand. elke wijziging in het huidige object zal worden weerspiegeld in de database op basis van onze flush-strategie. Automatisch doorspoelen gebeurt telkens wanneer een eigenschap van objectwijziging of expliciet doorspoelen wordt opgeroepen door de methode flush () van de sessieklasse aan te roepen. In het geval van een instantie die eerder was gekoppeld aan een persistente context, maar nu niet meer is gekoppeld, staat deze los.

Laten we doorgaan naar de volgende Hibernate-interviewvragen.

3) Is het mogelijk om een ​​Hibernate Entity Class definitief te maken?

Antwoord:
Ja, het is mogelijk om een ​​Hibernate Entity-klasse definitief te maken, maar het is geen goede gewoonte. Omdat Hibernate een proxy-patroon gebruikt voor prestatieverbetering van de applicatie en in het geval van de luie associatie, door een entiteitsklasse als definitief te maken, zal Hibernate niet langer in staat zijn om een ​​proxy te gebruiken, een reden is dat Java geen extensie toestaat van de laatste klas; het beperkt de prestatieverbeteringsopties. We kunnen dit probleem echter oplossen als onze persistente klasse een implementatie van een interface is, die alle openbare methoden aangeeft die in de klasse Entity zijn gedefinieerd.

4) Uitleg van de query cache?

Antwoord:
Dit zijn de gebruikelijke Hibernate-interviewvragen die in een interview worden gesteld. Querycache wordt gebruikt om het resultaat van de SQL-query op te slaan voor toekomstige oproepen voor prestatieverbetering. Het kan ook worden gebruikt in combinatie met een cache van het tweede niveau van de slaapstand om de prestaties van de toepassing te verbeteren. Hibernate heeft veel open source caching-oplossingen om Query-cache te implementeren.

5) Waarom is het verplicht om geen argumentconstructor in entiteiten te voorzien?

Antwoord:
Entiteitsklasse moet een constructor zonder argument bevatten, omdat het Hibernate-raamwerk een object van deze klassen maakt met behulp van Reflection API, door de nieuwe instantie Instance () van de klasse Class aan te roepen. Instantiatie-uitzondering wordt door deze methode gegenereerd als er geen argumentconstructor wordt gevonden binnen de klasse Entity.

Deel 2 - Interviewvragen in slaapstand (geavanceerd)

Laten we nu eens kijken naar de geavanceerde interviewvragen van Hibernate.

6) Leg de methode lock () van de sessie uit in de slaapstand?

Antwoord:
De methode lock () van de sessieklasse wordt gebruikt om het object opnieuw vast te maken zonder de database bij te werken of te synchroniseren. We moeten dus heel voorzichtig zijn bij het gebruik van deze methode. We kunnen altijd de methode update () gebruiken om tijdens het opnieuw koppelen met de database te synchroniseren.

7) Cache van het tweede niveau in slaapstand verklaren?

Antwoord:
Cache op het tweede niveau wordt onderhouden op het niveau van de Session Factory en wordt gebruikt om de prestaties van de applicatie te verbeteren door een paar database-retourreizen te besparen. Het is ook beschikbaar voor de hele applicatie in plaats van voor een bepaalde sessie

Laten we doorgaan naar de volgende Hibernate-interviewvragen.

8) Wat zijn de voordelen van overwinteren boven JDBC?

Antwoord:
Hibernate kan met elk type database worden gebruikt, omdat het database-onafhankelijk is, terwijl Developer in JDBC database-specifieke query's moet schrijven.
In de slaapstand hoeven we geen expert te zijn in het schrijven van complexe type vragen, omdat HQL het schrijven van query's vergemakkelijkt, terwijl in het geval van JDBC een ontwikkelaar vragen moet schrijven en afstemmen.
In de slaapstand is het niet nodig om verbindingspools te maken, omdat de slaapstand alle verbindingsverwerking automatisch uitvoert. In JDBC moeten verbindingspools worden gemaakt door de ontwikkelaar

9) Op hoeveel manieren kunnen objecten worden geïdentificeerd en wat zijn de verschillende ophaalmanieren in de slaapstand?

Antwoord:
Dit zijn de meestgestelde Hibernate-interviewvragen in een interview. Voor de identificatie van het object worden hieronder drie manieren vermeld.
Database-identiteit gebruiken: relationele database-objecten kunnen worden geïdentificeerd als ze dezelfde rij vertegenwoordigen.
Objectgelijkheid gebruiken: de methode equals () gebruiken.
Objectidentiteit gebruiken: operator == gebruiken.

Hier volgen de ophaalstrategieën die beschikbaar zijn in de slaapstand:

Batch ophalen
Doe mee met ophalen
Selecteer Subetching
Selecteer Ophalen

10) Vertel de paar interfaces naam van Hibernate framework?

Antwoord:
Session Factory: het is een onveranderlijke thread-veilige cache van gecompileerde toewijzingen voor een enkele database. We moeten het eenmaal initialiseren, dan kunnen we het in de cache opslaan en opnieuw gebruiken. zijn exemplaar wordt gebruikt om de sessieobjecten te verkrijgen voor verschillende databasebewerkingen.

Sessie is het een single-threaded, kortstondig object dat een interface tussen de applicatie en de permanente winkel vertegenwoordigt. Het verpakt JDBC java.sql.Connection en werkt als een fabriek voor transactie. U moet een sessie alleen openen wanneer dit nodig is en deze sluiten zodra u klaar bent met het gebruik. Een sessieobject is de interface tussen de Java-toepassingscode en het slaapstandraamwerk en biedt verschillende methoden voor CRUD-bewerkingen in Java.

Transactie): het is een single-threaded, kortstondig object dat door de Java-toepassing wordt gebruikt om atomaire werkeenheden te specificeren. Het abstraheert de toepassing van de onderliggende JTA-transactie of JDBC. Een sessie kan in sommige gevallen meerdere transacties bevatten.

Aanbevolen artikelen

Dit is een leidraad geweest voor de lijst met Hibernate-interviewvragen en -antwoorden, zodat de kandidaat deze Hibernate-interviewvragen gemakkelijk kan beantwoorden. Hier in dit bericht hebben we de beste Hibernate-interviewvragen bestudeerd die vaak in interviews worden gesteld. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Vragen tijdens solliciteren bij WCF
  2. Sollicitatievragen bij Docker
  3. Spring Framework Interview Vragen
  4. Vragen tijdens solliciteren bij PLSQL