50 parasta horroshaastattelukysymystä (2024)
Tässä on Hibernate-haastattelukysymyksiä ja vastauksia niin fuksilaisille kuin kokeneille hakijoille unelmatyönsä saamiseksi.
1. Mikä on horrostila?
Hibernate on suosittu Java-kehys, joka mahdollistaa tehokkaan objektirelaatiokartoituksen käyttämällä XML-muodossa olevia konfiguraatiotiedostoja. Kun Java-objektit on kartoitettu tietokantataulukoihin, tietokantaa käytetään ja käsitellään Java-objektien avulla ilman monimutkaisten tietokantakyselyjen kirjoittamista.
Ilmainen PDF-lataus: Horroshaastattelun kysymyksiä ja vastauksia
2. Mikä on ORM?
ORM (Object Relational Mapping) on Hibernate-kehyksen peruskonsepti, joka kartoittaa tietokantataulukot Java-objekteilla ja tarjoaa sitten erilaisia API's suorittaa erityyppisiä toimintoja tietotaulukoille.
3. Miten luokan ominaisuudet kartoitetaan tietokantataulukon sarakkeisiin Hibernatessa?
Luokan ominaisuuksien ja taulukon sarakkeiden väliset kartoitukset on määritetty XML tiedosto alla olevan esimerkin mukaisesti:
4. Mikä on määritysliittymän käyttö horrostilassa?
Hibernate-kehyksen määritysliittymää käytetään lepotilan määrittämiseen. Siihen on myös totuttu bootstrap lepotilaan. Hibernate-kartoitusasiakirjat löytyvät tämän käyttöliittymän avulla.
5. Kuinka voimme käyttää uusia mukautettuja rajapintoja parantaaksemme sisäisten lepotilan rajapintojen toimivuutta?
Voimme käyttää laajennusliittymiä lisätäksemme tarvittavia toimintoja, joita sisäänrakennetut rajapinnat eivät tue.
6. Pitäisikö kaikissa lepotilan kartoitustiedostoissa olla .hbm.xml-tunniste, jotta ne toimisivat oikein?
Ei, .hbm.xml-tunniste on sopimus eikä vaatimus lepotilan kartoitustiedostojen nimille. Meillä voi olla mikä tahansa laajennus näille kartoitustiedostoille.
7. Kuinka luomme istuntotehtaan horrostilassa?
Istuntotehtaan luomiseksi horrostilassa luodaan ensin määritysobjekti, joka viittaa määritystiedoston polkuun, ja sitten tälle kokoonpanolle luodaan istuntotehdas alla olevan esimerkin mukaisesti:
Configuration config = new Configuration(); config.addResource("myinstance/configuration.hbm.xml"); config.setProperties( System.getProperties() ); SessionFactory sessions = config.buildSessionFactory();
8. Mitä POJOt ovat ja mikä niiden merkitys on?
POJOt (Plain Old Java Objects) ovat Java-papuja, joissa on oikeat getter- ja setter-menetelmät jokaiselle ominaisuudelle.
POJO:iden käyttö yksinkertaisten java-luokkien sijaan johtaa tehokkaaseen ja hyvin rakennettuun koodiin.
9. Mikä on HQL?
HQL on Hibernatessa käytetty kyselykieli, joka on laajennus SQL. HQL on erittäin tehokas, yksinkertainen ja joustava kyselykieli, jolla voidaan tehdä erilaisia operaatioita relaatiotietokannassa ilman monimutkaisten tietokantakyselyjen kirjoittamista.
10. Kuinka voimme käynnistää tallennettuja proseduureja lepotilassa?
Hibernate-tilassa voimme suorittaa tallennettuja toimenpiteitä käyttämällä alla olevaa koodia:
11. Mikä on kriteerien API?
Criteria on yksinkertainen mutta tehokas lepotilan API, jota käytetään kokonaisuuksien hakemiseen kriteeriobjektien koostumuksen kautta.
12. Mitä etuja Hibernate-mallin käytöstä on?
Seuraavassa on joitain Hibernate-mallin käytön tärkeimpiä etuja:
a. Istunnon sulkeminen on automatisoitu.
b. Vuorovaikutus lepotilan kanssa on yksinkertaisempaa.
c. Poikkeuskäsittely on automatisoitu.
13. Kuinka voimme nähdä lepotilan luoman SQL:n konsolissa?
Meidän on lisättävä seuraava lepotilan määritystiedostoon, jotta voimme tarkastella SQL:ää konsolissa virheenkorjausta varten:
14. Mitkä ovat kaksi lepotilassa olevaa kokoelmatyyppiä?
Seuraavassa on kaksi lepotilassa olevaa kokoelmatyyppiä:
- Lajiteltu kokoelma
- Tilauskokoelma
15. Mitä eroa on session.save()- ja session.saveOrUpdate()-menetelmillä lepotilassa?
Sessionsave() -menetelmä tallentaa tietueen vain, jos se on yksilöllinen ensisijaiseen avaimeensa nähden, eikä lisääminen onnistu, jos ensisijainen avain on jo olemassa taulukossa.
saveOrUpdate() -menetelmä lisää uuden tietueen, jos ensisijainen avain on ainutlaatuinen, ja päivittää olemassa olevan tietueen, jos ensisijainen avain on jo olemassa taulukossa.
16. Mitä hyötyä lepotilasta on? JDBC?
- Hibernatea voidaan käyttää saumattomasti minkä tahansa tietokannan kanssa sen tietokannasta riippumattomana, kun taas JDBC:n tapauksessa kehittäjän on kirjoitettava tietokantakohtaisia kyselyitä.
- Lepotilaa käytettäessä kehittäjän ei tarvitse olla monimutkaisten kyselyjen kirjoittamisen asiantuntija, sillä HQL yksinkertaistaa kyselyn kirjoitusprosessia, kun taas JDBC:n tapauksessa kehittäjän tehtävänä on kirjoittaa ja virittää kyselyitä.
- Lepotilassa yhteyspooleja ei tarvitse luoda, koska lepotila hoitaa kaiken yhteydenkäsittelyn automaattisesti, kun taas JDBC:n tapauksessa yhteysvarastot on luotava.
17. Miten saamme lepotilatilastoja?
Voimme saada lepotilatilastoja käyttämällä SessionFactory-luokan getStatistics()-menetelmää, kuten alla on esitetty:
SessionFactory.getStatistics()
18. Mikä on ohimenevä ilmentymätila horrostilassa?
Jos ilmentymää ei ole liitetty mihinkään pysyvään kontekstiin ja sitä ei ole koskaan liitetty mihinkään pysyvään kontekstiin, sen sanotaan olevan ohimenevässä tilassa.
19. Kuinka voimme lyhentää tietokannan kirjoitustoimintaaikoja horrostilassa?
Hibernate tarjoaa likaisen tarkistusominaisuuden, jota voidaan käyttää tietokannan kirjoitusaikojen lyhentämiseen. Hibernate-tilan likainen tarkistusominaisuus päivittää vain ne kentät, jotka vaativat muutoksen, mutta pitää muut ennallaan.
20. Mikä on takaisinsoittoliitäntöjen käyttö horrostilassa?
Hibernate-soittoliitännät ovat hyödyllisiä tapahtumien ilmoitusten vastaanottamisessa objekteista. Esimerkiksi kun objekti ladataan tai poistetaan, tapahtuma luodaan ja ilmoitus lähetetään takaisinsoittoliitäntöjen avulla.
21. Kun ilmentymä siirtyy irti tilaan lepotilassa?
Kun ilmentymä oli aiemmin liitetty johonkin pysyvään kontekstiin (esim. taulukkoon) eikä sitä enää yhdistetä, sitä kutsutaan olemaan irrotettuna.
22. Mitkä neljä ORM-tasoa ovat lepotilassa?
Seuraavassa on neljä ORM-tasoa lepotilassa:
- Puhdas relaatio
- Light Object Mapping
- Keskikokoinen objektikartoitus
- Täydellinen objektikartoitus
23. Mitä tapahtumien hallinta lepotilassa on? Miten se toimii?
Tapahtumanhallinta on prosessi, jossa hallitaan lauseita tai komentoja. lepotilassa; tapahtuman hallinta tapahtuu tapahtumarajapinnalla alla olevan koodin mukaisesti:
Session s = null;
Transaction tr = null;
try {
s = sessionFactory.openSession();
tr = s.beginTransaction();
doTheAction(s);
tr.commit();
} catch (RuntimeException exc) {
tr.rollback();
} finally {
s.close();
}
24. Mitkä kaksi menetelmää ovat lepotilamäärityksen?
Voimme käyttää mitä tahansa seuraavista kahdesta lepotilan määritystavasta:
- XML-pohjainen määritys (hibernate.cfg.xml-tiedoston avulla)
- Ohjelmallinen määritys (Koodilogiikkaa käyttämällä)
25. Mikä on lepotilan oletusvälimuistipalvelu?
Hibernate tukee useita välimuistipalveluita, kuten EHCache, OSCache, SWARMCache ja TreeCache, ja lepotilan oletusvälimuistipalvelu on EHCache.
26. Mitä kahta kartoitusyhdistystä käytetään lepotilassa?
lepotilassa; meillä on seuraavan tyyppisiä kartoitusyhteyksiä entiteettien välillä:
- Yksittäinen yhdistys
- Monelta moneen yhdistys
27. Mikä on Hibernate QBC API:n käyttö?
Hibernate Query By Criteria (QBC) -sovellusliittymää käytetään kyselyjen luomiseen muokkaamalla kriteeriobjekteja ajon aikana.
28. Kuinka monella tavalla objektit voidaan hakea tietokannasta lepotilassa?
Hibernate tarjoaa seuraavat neljä tapaa hakea kohteita tietokannasta:
- HQL:n käyttö
- Tunnisteen käyttäminen
- Criteria API:n käyttö
- Standard SQL:n käyttö
29. Miten ensisijainen avain luodaan käyttämällä lepotilaa?
Tietokannan ensisijainen avain on määritetty määritystiedostossa hbm.xml. Generatorilla voidaan myös määrittää, kuinka perusavain luodaan tietokantaan.
Alla olevassa esimerkissä deptId toimii ensisijaisena avaimena:
30. Kuinka voimme kiinnittää irrotetut esineet takaisin horrostilaan?
Objektit, jotka on irrotettu ja joita ei enää ole liitetty pysyviin entiteeteihin, voidaan liittää uudelleen kutsumalla istuntoluokan session.merge()-metodia.
31. Millä eri tavoilla voit poistaa lepotilan toisen tason välimuistin käytöstä?
Horrostilan toisen tason välimuisti voidaan poistaa käytöstä jollakin seuraavista tavoista:
- Asettamalla use_second_level_cache arvoksi false.
- Käyttämällä CACHEMODE.IGNORE
- Välimuistin tarjoajan käyttö nimellä org.hibernate.cache.NoCacheProvider
32. Mitä ORM-metatiedot ovat?
Kaikki luokkien ja taulukoiden, ominaisuuksien ja sarakkeiden, Java-tyyppien ja SQL-tyyppien välinen kartoitus on määritelty ORM-metatiedoissa.
33. Mikä on oletustapahtumatehdas horrostilassa?
Hibernate 3.2:ssa oletustapahtumatehdas on JDBCTransactionFactory.
34. Mikä on JMX:n rooli horrostilassa?
Java-sovelluksia ja -komponentteja hallitaan lepotilassa tavallisella JMX API:lla. JMX tarjoaa työkaluja tehokkaiden ja kestävien hajautettujen verkkopohjaisten ratkaisujen kehittämiseen.
35. Kuinka voimme sitoa lepotilan istunnon tehtaan JNDI:hen?
Hibernate-istuntotehdas voidaan sitoa JNDI:hen tekemällä kokoonpanomuutoksia hibernate.cfg-tiedostossa.
36. Kuinka monella tavalla objektit voidaan tunnistaa horrostilassa?
Objektin tunnistaminen voidaan tehdä horrostilassa seuraavilla kolmella tavalla:
- Objekti-identiteetin käyttäminen: ==-operaattorin käyttö.
- Objektiyhtälön käyttäminen: Equals()-menetelmän käyttäminen.
- Tietokannan identiteetin käyttö: Relaatiotietokantaobjektit voidaan tunnistaa, jos ne edustavat samaa riviä.
37. Mitä erilaisia noutostrategioita lepotilassa on?
Seuraavat hakustrategiat ovat käytettävissä lepotilassa:
- Liity Fetchingiin
- Erähaku
- Valitse Hae
- Alivalitse Hae
38. Miten java-objektien kartoitus tehdään tietokantataulukoilla?
Java-objektien yhdistämiseksi tietokantataulukoihin tarvitsemme Java-papujen ominaisuuksien nimet, jotka ovat samat kuin tietokantataulukon sarakkeiden nimet. Sitten kartoitus tarjotaan hbm.xml-tiedostossa alla kuvatulla tavalla:
39. Mitä johdetut ominaisuudet ovat lepotilassa?
Johdetut ominaisuudet ovat ominaisuuksia, joita ei ole yhdistetty tietokantataulukon sarakkeisiin. Tällaiset ominaisuudet lasketaan ajon aikana arvioimalla kaikki lausekkeet.
40. Mitä tarkoitetaan nimetyllä SQL-kyselyllä lepotilassa ja miten sitä käytetään?
Nimetyt SQL-kyselyt ovat kyselyitä, jotka on määritelty kartoitustiedostossa ja joita kutsutaan tarvittaessa missä tahansa.
Voimme esimerkiksi kirjoittaa SQL-kyselyn XML-kartoitustiedostoomme seuraavasti:
Sitten tämä kysely voidaan kutsua seuraavasti:
List students = session.getNamedQuery("studentdetails")
.setString("TomBrady", name)
.setMaxResults(50)
.list();
41. Mitä eroa on load()- ja get()-metodilla lepotilassa?
Load()-menetelmät johtavat poikkeukseen, jos vaadittuja tietueita ei löydy tietokannasta, kun taas get()-metodi palauttaa nollan, kun tietueita ei löydy tietokannasta.
Joten ihannetapauksessa meidän tulisi käyttää Load() -menetelmää vain, kun olemme varmoja tietueiden olemassaolosta id:tä vastaan.
42. Mitä hyötyä version ominaisuudesta on horrostilassa?
Versio-ominaisuutta käytetään horrostilassa sen selvittämiseen, onko objekti ohimenevässä vai irrotetussa tilassa.
43. Mitä on attribuuttisuuntautunut ohjelmointi?
Attribuuttisuuntautuneessa ohjelmoinnissa kehittäjä voi lisätä metadataa (attribuutteja) Java-lähdekoodiin lisätäkseen koodin merkitystä. Java (hibernate) -käyttöjärjestelmässä attribuuttisuuntautunut ohjelmointi on käytössä XDoclet-moottorilla.
44. Mitä hyötyä session.lock():sta on horrostilassa?
session.lock() -menetelmää käytetään istuntoluokan menetelmää aiemmin irrotetun objektin liittämiseen uudelleen. Tämä uudelleenliittämismenetelmä ei tarkista tietokannan tietojen synkronointia, kun objektia liitetään uudelleen, ja voi siten johtaa tietojen synkronoinnin puutteeseen.
45. Tukeeko hibernate polymorfismia?
Kyllä, hibernate tukee täysin polymorfismia. Polymorfismikyselyitä ja polymorfismiassosiaatioita tuetaan kaikissa lepotilan kartoitusstrategioissa.
46. Mitkä kolme perintömallia ovat lepotilasta?
Hibernatessa on seuraavat kolme perintömallia:
- Taulukot per betoniluokka
- Taulukko luokkahierarkiakohtaisesti
- Taulukko alaluokittain
47. Kuinka voimme kartoittaa luokat muuttumattomiksi?
Jos emme halua sovelluksen päivittävän tai poistavan lepotilassa olevan luokan objekteja, voimme tehdä luokasta muuttumattoman asettamalla mutable=false
48. Mikä on yleinen horrosvirta RDBMS:ää käytettäessä?
Yleinen lepotilavirta, joka sisältää RDBMS:n, on seuraava:
- Lataa asetustiedosto ja luo konfigurointiluokan objekti.
- Luo sessionFactory-objekti konfiguraatioobjektin avulla.
- Hanki sessionFactorysta yksi istunto.
- Luo HQL-kysely.
- Suorita HQL-kysely ja hanki tulokset. Tulokset ovat luettelon muodossa.
49. Mikä on valoobjektien kartoitus?
Light Object Mapping on yksi ORM-laadun tasoista, jossa kaikki entiteetit esitetään luokkina ja ne kartoitetaan manuaalisesti.
50. Mitä eroa on hallittujen yhdistysten ja lepotilayhdistysten välillä?
Hallitut yhteydet liittyvät kontinhallinnan pysyvyyteen ja ovat kaksisuuntaisia, kun taas lepotilayhteydet ovat yksisuuntaisia.
Nämä haastattelukysymykset auttavat myös vivassasi (suullinen)
Hyvä kokoelma qns…
Loistava selitys,,,,
Voitko lisätä myös alla olevat kysymykset
Kuinka voimme käynnistää tallennettuja toimenpiteitä horrostilassa?
Mikä tilattu kokoelma ja lajiteltu kokoelma
mikä on jatkuva tila
Kuinka likainen tarkistus on määritetty
Määritä takaisinsoittoliittymä
Kuinka saada esine irrotettua
mitä tapahtui, jos irrotan ohimenevän esineen
selittää jokaisen ORM-tason Lepotilassa
Kuinka ottaa käyttöön / poistaa käytöstä ensimmäisen ja toisen tason välimuisti
Kuinka voimme sitoa lepotilan istunnon tehtaan JNDI:hen?
Mitä eroa load()- ja get()-metodilla on lepotilassa?
ero session.lock() ja session.merge() välillä
Miten luokka kartoitetaan muuttumattomaksi ja miksi
Kuinka voimme käyttää uusia mukautettuja käyttöliittymiä lepotilan sisäisten rajapintojen toimivuuden parantamiseen?
Hei admin On hyödyllistä, jos lisäät tämän kysymyksen tai tärkeämpiä mcq-tyyppisiä kysymyksiä kilpailukokeeseen