Nangungunang 50 Hibernate Interview Questions (2025)
Narito ang mga tanong at sagot sa panayam sa Hibernate para sa mga fresher pati na rin sa mga may karanasang kandidato upang makuha ang kanilang pinapangarap na trabaho.
1. Ano ang Hibernate?
Ang hibernate ay isang sikat na framework ng Java na nagbibigay-daan sa isang mahusay na Object Relational mapping gamit ang configuration file sa XML na format. Pagkatapos ng pagma-map ng mga object ng java sa mga talahanayan ng database, ginagamit at pinangangasiwaan ang database gamit ang mga object ng Java nang hindi nagsusulat ng mga kumplikadong query sa database.
Libreng Pag-download ng PDF: Mga Tanong at Sagot sa Panayam sa Hibernate
2. Ano ang ORM?
Ang ORM (Object Relational Mapping) ay ang pangunahing konsepto ng Hibernate framework na nagmamapa ng mga talahanayan ng database gamit ang Java Objects at pagkatapos ay nagbibigay ng iba't ibang API's upang magsagawa ng iba't ibang uri ng mga operasyon sa mga talahanayan ng data.
3. Paano namamapa ang mga katangian ng isang klase sa mga column ng isang talahanayan ng database sa Hibernate?
Ang mga pagmamapa sa pagitan ng mga katangian ng klase at mga column ng talahanayan ay tinukoy sa XML file tulad ng sa ibabang halimbawa:
4. Ano ang paggamit ng Configuration Interface sa hibernate?
Ang interface ng configuration ng hibernate framework ay ginagamit upang i-configure ang hibernate. Nakasanayan na rin bootstrap hibernate. Ang mga dokumento sa pagmamapa ng hibernate ay matatagpuan gamit ang interface na ito.
5. Paano namin magagamit ang mga bagong custom na interface para mapahusay ang functionality ng mga built-in na interface ng hibernate?
Maaari kaming gumamit ng mga interface ng extension upang magdagdag ng anumang kinakailangang functionality na hindi sinusuportahan ng mga built-in na interface.
6. Dapat bang lahat ng mapping file ng hibernate ay may .hbm.xml extension para gumana ng maayos?
Hindi, ang pagkakaroon ng .hbm.xml extension ay isang convention at hindi isang kinakailangan para sa hibernate mapping file name. Maaari kaming magkaroon ng anumang extension para sa mga mapping file na ito.
7. Paano tayo lilikha ng session factory sa hibernate?
Upang lumikha ng isang session factory sa hibernate, isang object ng configuration ang unang ginawa na tumutukoy sa path ng configuration file at pagkatapos ay para sa configuration na iyon, session factory ay ginawa tulad ng ibinigay sa halimbawa sa ibaba:
Configuration config = new Configuration(); config.addResource("myinstance/configuration.hbm.xml"); config.setProperties( System.getProperties() ); SessionFactory sessions = config.buildSessionFactory();
8. Ano ang mga POJO at ano ang kanilang kahalagahan?
Ang mga POJO (Plain Old Java Objects) ay mga java bean na may wastong pamamaraan ng getter at setter para sa bawat katangian.
Ang paggamit ng mga POJO sa halip na mga simpleng klase ng java ay nagreresulta sa isang mahusay at mahusay na pagkakagawa ng code.
9. Ano ang HQL?
Ang HQL ay ang query language na ginamit sa Hibernate na isang extension ng SQL. Ang HQL ay napakahusay, simple at nababaluktot na wika ng query upang makagawa ng iba't ibang uri ng mga operasyon sa relational database nang hindi nagsusulat ng mga kumplikadong query sa database.
10. Paano tayo makakapag-invoke ng mga stored procedure sa hibernate?
Sa hibernate maaari naming isagawa ang mga nakaimbak na pamamaraan gamit ang code tulad ng sa ibaba:
11. Ano ang pamantayan ng API?
Ang Criteria ay isang simple ngunit makapangyarihang API ng hibernate na ginagamit upang kunin ang mga entity sa pamamagitan ng criteria na komposisyon ng object.
12. Ano ang mga pakinabang ng paggamit ng hibernate template?
Ang sumusunod ay ilang pangunahing benepisyo ng paggamit ng hibernate template:
a. Awtomatiko ang pagsasara ng session.
b. Ang pakikipag-ugnayan sa hibernate session ay pinasimple.
c. Ang paghawak ng exception ay awtomatiko.
13. Paano natin makikita ang hibernate na nabuong SQL sa console?
Kailangan naming magdagdag ng sumusunod sa hibernate configuration file upang paganahin ang pagtingin sa SQL sa console para sa mga layunin ng pag-debug:
14. Ano ang dalawang uri ng koleksyon sa hibernate?
Ang sumusunod ay ang dalawang uri ng mga koleksyon sa hibernate:
- Pinagsunod-sunod na Koleksyon
- Koleksyon ng Order
15. Ano ang pagkakaiba sa pagitan ng session.save() at session.saveOrUpdate() na mga pamamaraan sa hibernate?
Paraan ng sessionsave(). nagse-save lang ng record kung natatangi ito kaugnay ng primary key nito at mabibigo na maipasok kung mayroon nang primary key sa table.
saveOrUpdate() na paraan naglalagay ng bagong record kung natatangi ang primary key at mag-a-update ng kasalukuyang record kung mayroon nang primary key sa table.
16. Ano ang mga benepisyo ng hibernate over JDBC?
- Maaaring gamitin ang hibernate nang walang putol sa anumang uri ng database bilang independiyenteng database nito habang sa kaso ng JDBC, kailangang magsulat ng mga partikular na query sa database ang developer.
- Gamit ang hibernate, hindi kailangang maging eksperto ang developer sa pagsulat ng mga kumplikadong query dahil pinapasimple ng HQL ang proseso ng pagsusulat ng query habang sa kaso ng JDBC, ang trabaho ng developer na magsulat at mag-tune ng mga query.
- Sa kaso ng hibernate, hindi na kailangang lumikha ng mga pool ng koneksyon dahil ang hibernate ay awtomatikong humahawak ng lahat ng koneksyon habang sa kaso ng JDBC, ang mga pool ng koneksyon ay kailangang gawin.
17. Paano tayo makakakuha ng mga istatistika ng hibernate?
Makakakuha tayo ng hibernate statistics gamit ang getStatistics() method ng SessionFactory class gaya ng ipinapakita sa ibaba:
SessionFactory.getStatistics()
18. Ano ang transient instance state sa Hibernate?
Kung ang isang instance ay hindi nauugnay sa anumang paulit-ulit na konteksto at gayundin, hindi pa ito naiugnay sa anumang paulit-ulit na konteksto, kung gayon ito ay sinasabing nasa pansamantalang estado.
19. Paano natin mababawasan ang mga oras ng pagkilos ng pagsulat ng database sa Hibernate?
Ang hibernate ay nagbibigay ng dirty checking feature na maaaring magamit upang bawasan ang mga oras ng pagsulat ng database. Ang dirty checking feature ng hibernate ay nag-a-update lamang sa mga field na nangangailangan ng pagbabago habang pinapanatili ang iba na hindi nagbabago.
20. Ano ang paggamit ng mga callback interface sa hibernate?
Ang mga callback na interface ng hibernate ay kapaki-pakinabang sa pagtanggap ng mga notification ng kaganapan mula sa mga bagay. Halimbawa, kapag ang isang bagay ay na-load o tinanggal, ang isang kaganapan ay nabuo at ang abiso ay ipinadala gamit ang mga interface ng callback.
21. Kapag ang isang instance ay napupunta sa detached state sa hibernate?
Kapag ang isang instance ay mas maagang nauugnay sa ilang paulit-ulit na konteksto (hal. isang talahanayan) at hindi na nauugnay, ito ay tinatawag na nasa hiwalay na estado.
22. Ano ang apat na antas ng ORM sa hibernate?
Ang sumusunod ay ang apat na antas ng ORM sa hibernate:
- Purong Relasyon
- Light Object Mapping
- Katamtamang Pagmamapa ng Bagay
- Buong Object Mapping
23. Ano ang pamamahala ng transaksyon sa hibernate? Paano ito gumagana?
Ang pamamahala ng transaksyon ay ang proseso ng pamamahala ng isang hanay ng mga pahayag o utos. Sa hibernate; Ang pamamahala ng transaksyon ay ginagawa sa pamamagitan ng interface ng transaksyon tulad ng ipinapakita sa ibaba ng code:
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. Ano ang dalawang paraan ng pagsasaayos ng hibernate?
Maaari naming gamitin ang alinman sa sumusunod na dalawang paraan ng pagsasaayos ng hibernate:
- XML based na configuration ( gamit ang hibernate.cfg.xml file)
- Programmatic configuration ( Gamit ang code logic)
25. Ano ang default na cache service ng hibernate?
Sinusuportahan ng hibernate ang maramihang mga serbisyo ng cache tulad ng EHCache, OSCache, SWARMCache at TreeCache at ang default na serbisyo ng cache ng hibernate ay EHCache.
26. Ano ang dalawang mapping association na ginagamit sa hibernate?
Sa hibernate; mayroon kaming sumusunod na dalawang uri ng mga asosasyon sa pagmamapa sa pagitan ng mga entity:
- One-to-One Association
- Samahan ng Marami-sa-Marami
27. Ano ang paggamit ng Hibernate QBC API?
Ang Hibernate Query By Criteria (QBC) API ay ginagamit upang lumikha ng mga query sa pamamagitan ng pagmamanipula ng mga object ng pamantayan sa runtime.
28. Sa ilang paraan, ang mga bagay ay maaaring makuha mula sa database sa hibernate?
Ang hibernate ay nagbibigay ng sumusunod na apat na paraan upang kumuha ng mga bagay mula sa database:
- Gamit ang HQL
- Gamit ang identifier
- Paggamit ng Criteria API
- Gamit ang Standard SQL
29. Paano nalikha ang pangunahing key sa pamamagitan ng paggamit ng hibernate?
Ang pangunahing key ng database ay tinukoy sa configuration file na hbm.xml. Magagamit din ang Generator upang tukuyin kung paano nililikha ang pangunahing key sa database.
Sa halimbawa sa ibaba, gumaganap ang deptId bilang pangunahing susi:
30. Paano namin muling makakabit ang anumang mga nakahiwalay na bagay sa Hibernate?
Ang mga bagay na nahiwalay at hindi na nauugnay sa anumang paulit-ulit na entity ay maaaring i-attach muli sa pamamagitan ng pagtawag sa session.merge() na paraan ng session class.
31. Ano ang iba't ibang paraan upang hindi paganahin ang hibernate second level cache?
Maaaring hindi paganahin ang cache ng pangalawang antas ng hibernate gamit ang alinman sa mga sumusunod na paraan:
- Sa pamamagitan ng pagtatakda ng use_second_level_cache bilang false.
- Sa pamamagitan ng paggamit ng CACHEMODE.IGNORE
- Paggamit ng cache provider bilang org.hibernate.cache.NoCacheProvider
32. Ano ang metadata ng ORM?
Ang lahat ng pagmamapa sa pagitan ng mga klase at mga talahanayan, mga katangian at mga haligi, mga uri ng Java at mga uri ng SQL atbp ay tinukoy sa metadata ng ORM.
33. Alin ang default na factory ng transaksyon sa hibernate?
Sa hibernate 3.2, ang default na factory ng transaksyon ay JDBCTransactionFactory.
34. Ano ang papel ng JMX sa hibernate?
Ang mga Java Application at mga bahagi ay pinamamahalaan sa hibernate ng isang karaniwang API na tinatawag na JMX API. Nagbibigay ang JMX ng mga tool para sa pagbuo ng mahusay at matatag na ipinamamahagi, mga solusyon sa web.
35. Paano natin maibubuklod ang pabrika ng hibernate session sa JNDI ?
Ang pabrika ng hibernate session ay maaaring maiugnay sa JNDI sa pamamagitan ng paggawa ng mga pagbabago sa configuration sa hibernate.cfg file.
36. Sa ilang paraan matutukoy ang mga bagay sa Hibernate?
Ang pagkakakilanlan ng bagay ay maaaring gawin sa hibernate sa sumusunod na tatlong paraan:
- Paggamit ng Object Identity: Gamit ang == operator.
- Paggamit ng Object Equality: Paggamit ng equals() na pamamaraan.
- Paggamit ng pagkakakilanlan sa database: Ang mga object ng relational database ay maaaring makilala kung kinakatawan nila ang parehong row.
37. Ano ang iba't ibang diskarte sa pagkuha ng hibernate?
Ang mga sumusunod na diskarte sa pagkuha ay available sa hibernate:
- Sumali sa Fetching
- Batch Fetching
- Piliin ang Pagkuha
- I-sub-select ang Pagkuha
38. Paano ginagawa ang pagmamapa ng mga bagay sa java sa mga talahanayan ng database?
Upang i-map ang mga bagay sa java na may mga talahanayan ng database, kailangan nating magkaroon ng mga pangalan ng mga katangian ng Java beans tulad ng mga pangalan ng column ng isang talahanayan ng database. Pagkatapos ang pagmamapa ay ibinigay sa hbm.xml file tulad ng ibinigay sa ibaba:
39. Ano ang mga derived properties sa hibernate?
Ang mga nagmula na pag-aari ay ang mga pag-aari na hindi nakamapa sa anumang mga column ng isang talahanayan ng database. Ang mga naturang katangian ay kinakalkula sa runtime sa pamamagitan ng pagsusuri ng anumang mga expression.
40. Ano ang ibig sabihin ng isang Named SQL Query sa hibernate at paano ito ginagamit?
Ang pinangalanang mga query sa SQL ay ang mga query na tinukoy sa mapping file at tinatawag kung kinakailangan kahit saan.
Halimbawa, maaari tayong magsulat ng SQL query sa aming XML mapping file gaya ng sumusunod:
Pagkatapos ang query na ito ay maaaring tawaging tulad ng sumusunod:
List students = session.getNamedQuery("studentdetails")
.setString("TomBrady", name)
.setMaxResults(50)
.list();
41. Ano ang pagkakaiba sa pagitan ng load() at get() na pamamaraan sa hibernate?
Ang mga pamamaraan ng Load() ay nagreresulta sa isang pagbubukod kung ang mga kinakailangang tala ay hindi matatagpuan sa database habang ang get() na pamamaraan ay nagbabalik ng null kapag ang mga talaan laban sa id ay hindi natagpuan sa database.
Kaya, mas mabuti na dapat nating gamitin ang Load() na paraan lamang kapag sigurado tayo tungkol sa pagkakaroon ng mga tala laban sa isang id.
42. Ano ang gamit ng version property sa hibernate?
Ang ari-arian ng bersyon ay ginagamit sa hibernate upang malaman kung ang isang bagay ay nasa transient state o nasa detached state.
43. Ano ang attribute oriented programming?
Sa Attribute oriented programming, ang isang developer ay maaaring magdagdag ng Meta data (mga katangian) sa java source code upang magdagdag ng higit na kahalagahan sa code. Para sa Java (hibernate), ang attribute oriented programming ay pinagana ng isang engine na tinatawag na XDoclet.
44. Ano ang silbi ng session.lock() sa hibernate?
session.lock() method ng session class ay ginagamit upang muling ikabit ang isang bagay na mas maagang natanggal. Ang pamamaraang ito ng muling pag-attach ay hindi nagsusuri ng anumang pag-synchronize ng data sa database habang muling inilalagay ang bagay at samakatuwid ay maaaring humantong sa kakulangan ng pag-synchronize sa data.
45. Sinusuportahan ba ng hibernate ang polymorphism?
Oo, ganap na sinusuportahan ng hibernate ang polymorphism. Ang mga query sa polymorphism at polymorphism na mga asosasyon ay sinusuportahan sa lahat ng mga diskarte sa pagmamapa ng hibernate.
46. Ano ang tatlong inheritance models ng hibernate?
Ang hibernate ay may sumusunod na tatlong modelo ng mana:
- Mga Talahanayan Bawat Klase ng Kongkreto
- Talahanayan sa bawat hierarchy ng klase
- Talahanayan bawat sub-class
47. Paano natin imapa ang mga klase bilang hindi nababago?
Kung hindi namin nais na i-update o tanggalin ng isang application ang mga bagay ng isang klase sa hibernate, maaari naming gawing hindi nababago ang klase sa pamamagitan ng pagtatakda ng mutable=false
48. Ano ang pangkalahatang hibernate flow gamit ang RDBMS?
Ang pangkalahatang daloy ng hibernate na kinasasangkutan ng RDBMS ay ang mga sumusunod:
- I-load ang configuration file at lumikha ng object ng configuration class.
- Gamit ang configuration object, lumikha ng sessionFactory object.
- Mula sa sessionFactory, kumuha ng isang session.
- Lumikha ng HQL query.
- Isagawa ang query ng HQL at makuha ang mga resulta. Ang mga resulta ay nasa anyo ng isang listahan.
49. Ano ang Light Object Mapping?
Ang Light Object Mapping ay isa sa mga antas ng kalidad ng ORM kung saan ang lahat ng entity ay kinakatawan bilang mga klase at ang mga ito ay manu-manong namamapa.
50. Ano ang pagkakaiba sa pagitan ng mga pinamamahalaang asosasyon at mga asosasyon sa hibernate?
Ang mga pinamamahalaang asosasyon ay nauugnay sa pagtitiyaga sa pamamahala ng container at bi-directional habang ang mga asosasyon sa hibernate ay unidirectional.
Ang mga tanong sa panayam na ito ay makakatulong din sa iyong viva(orals)
Magandang koleksyon ng qns...
Napakagandang paliwanag,,,,
Maaari mo ring idagdag ang mga tanong sa ibaba
Paano tayo makakatawag ng mga nakaimbak na pamamaraan sa hibernate?
Ano ang iniutos na koleksyon at pinagsunod-sunod na koleksyon
ano ang persistent state
Paano naka-configure ang dirty checking
I-configure ang interface ng callback
Paano gumawa ng isang bagay na hiwalay
ano ang nangyari kung i-detach ko ang transiant object
ipaliwanag ang bawat antas ng ORM sa Hibernate
Paano paganahin / huwag paganahin ang una at ikalawang antas ng cahce
Paano natin maitali ang pabrika ng hibernate session sa JNDI?
Ano ang pagkakaiba sa pagitan ng load() at get() na pamamaraan sa hibernate?
pagkakaiba sa pagitan ng session.lock() at session.merge()
Paano namamapa ang isang klase bilang hindi nababago at bakit
Paano namin magagamit ang mga bagong custom na interface para mapahusay ang functionality ng mga built-in na interface ng hibernate?
Hey admin Magiging mabunga kung idadagdag mo ang tanong na ito o mas mahalagang mcq tulad ng mga tanong para sa mapagkumpitensyang pagsusulit