50 najpopularniejszych pytań do wywiadu w sprawie hibernacji (2024)

Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych w Hibernate zarówno dla nowicjuszy, jak i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.


1. Co to jest hibernacja?

Hibernate to popularna platforma Java, która umożliwia wydajne mapowanie obiektowo-relacyjne przy użyciu plików konfiguracyjnych w formacie XML. Po odwzorowaniu obiektów Java na tabele bazy danych, baza danych jest używana i obsługiwana przy użyciu obiektów Java bez konieczności pisania skomplikowanych zapytań do bazy danych.

Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące wywiadu w trybie Hibernate


2. Co to jest ORM?

ORM (Object Relational Mapping) to podstawowa koncepcja frameworku Hibernate, która odwzorowuje tabele bazy danych za pomocą obiektów Java, a następnie udostępnia różne API's do wykonywania różnych typów operacji na tabelach danych.


3. W jaki sposób właściwości klasy są mapowane na kolumny tabeli bazy danych w Hibernacji?

Mapowania pomiędzy właściwościami klasy i kolumnami tabeli są określone w XML plik jak w poniższym przykładzie:


4. Do czego służy interfejs konfiguracyjny w stanie hibernacji?

Interfejs konfiguracyjny frameworku hibernacji służy do konfiguracji hibernacji. Jest to również przyzwyczajone bootstrap hibernować. Dokumenty mapujące hibernacji są lokalizowane przy użyciu tego interfejsu.


5. Jak możemy wykorzystać nowe niestandardowe interfejsy, aby zwiększyć funkcjonalność wbudowanych interfejsów hibernacji?

Interfejsy rozszerzeń możemy wykorzystać w celu dodania dowolnej wymaganej funkcjonalności, która nie jest obsługiwana przez wbudowane interfejsy.

Pytania do rozmowy kwalifikacyjnej w trybie Hibernate
Pytania do rozmowy kwalifikacyjnej w trybie Hibernate

6. Czy wszystkie pliki map hibernacji powinny mieć rozszerzenie .hbm.xml, aby działać poprawnie?

Nie, posiadanie rozszerzenia .hbm.xml jest konwencją, a nie wymogiem w przypadku nazw plików mapowania hibernacji. Możemy mieć dowolne rozszerzenie tych plików map.


7. Jak utworzyć fabrykę sesji w stanie hibernacji?

hibernacji pytania do rozmowy kwalifikacyjnej
hibernować

Aby utworzyć fabrykę sesji w trybie hibernacji, najpierw tworzony jest obiekt konfiguracji, który odwołuje się do ścieżki pliku konfiguracyjnego, a następnie dla tej konfiguracji tworzona jest fabryka sesji, jak pokazano w poniższym przykładzie:

Configuration config = new Configuration();
config.addResource("myinstance/configuration.hbm.xml");
config.setProperties( System.getProperties() );
SessionFactory sessions = config.buildSessionFactory();

8. Czym są POJO i jakie jest ich znaczenie?

POJO (zwykłe stare obiekty Java) to komponenty Java z odpowiednimi metodami pobierającymi i ustawiającymi dla każdej właściwości.
Użycie POJO zamiast prostych klas Java skutkuje wydajnym i dobrze skonstruowanym kodem.


9. Co to jest HQL?

HQL to język zapytań używany w Hibernacji, który jest rozszerzeniem SQL. HQL to bardzo wydajny, prosty i elastyczny język zapytań umożliwiający wykonywanie różnego rodzaju operacji na relacyjnej bazie danych bez konieczności pisania skomplikowanych zapytań do bazy danych.


10. Jak możemy wywołać procedury składowane w stanie hibernacji?

W hibernacji możemy wykonywać procedury składowane przy użyciu kodu jak poniżej:


11. Co to jest API kryteriów?

Kryteria to prosty, ale potężny interfejs API hibernacji, który służy do pobierania jednostek poprzez kompozycję obiektów kryteriów.


12. Jakie są korzyści z używania szablonu Hibernate?

Poniżej przedstawiono kilka kluczowych korzyści wynikających z używania szablonu Hibernate:
A. Zamykanie sesji odbywa się automatycznie.
B. Interakcja z sesją hibernacji jest uproszczona.
C. Obsługa wyjątków jest zautomatyzowana.


13. Jak możemy zobaczyć wygenerowany przez hibernację SQL na konsoli?

Musimy dodać następujące elementy w pliku konfiguracyjnym hibernacji, aby umożliwić przeglądanie kodu SQL na konsoli w celu debugowania:


14. Jakie są dwa typy kolekcji w stanie hibernacji?

Poniżej przedstawiono dwa typy kolekcji w stanie hibernacji:

  1. Posortowana kolekcja
  2. Zbiórka zamówień


15. Jaka jest różnica pomiędzy metodami session.save() i session.saveOrUpdate() w trybie hibernacji?

Metoda Sessionsave(). zapisuje rekord tylko wtedy, gdy jest unikalny pod względem klucza podstawowego i nie wstawi rekordu, jeśli klucz podstawowy już istnieje w tabeli.
metodę saveOrUpdate(). wstawia nowy rekord, jeśli klucz podstawowy jest unikalny i aktualizuje istniejący rekord, jeśli klucz podstawowy już istnieje w tabeli.


16. Jakie są korzyści z hibernacji JDBC?

  • Hibernate może być bezproblemowo używany z dowolnym typem bazy danych, ponieważ jest niezależny od bazy danych, podczas gdy w przypadku JDBC programista musi pisać zapytania specyficzne dla bazy danych.
  • Korzystając z hibernacji, programista nie musi być ekspertem w pisaniu złożonych zapytań, ponieważ HQL upraszcza proces pisania zapytań, podczas gdy w przypadku JDBC jego zadaniem programisty jest pisanie i dostrajanie zapytań.
  • W przypadku hibernacji nie ma potrzeby tworzenia pul połączeń, ponieważ hibernacja obsługuje wszystkie połączenia automatycznie, podczas gdy w przypadku JDBC należy utworzyć pule połączeń.

17. Jak możemy uzyskać statystyki dotyczące hibernacji?

Statystyki hibernacji możemy uzyskać za pomocą metody getStatistics() klasy SessionFactory, jak pokazano poniżej:

SessionFactory.getStatistics()

18. Co to jest przejściowy stan instancji w trybie Hibernate?

Jeśli instancja nie jest powiązana z żadnym trwałym kontekstem, a także nigdy nie była powiązana z żadnym trwałym kontekstem, wówczas mówi się, że jest w stanie przejściowym.


19. Jak możemy skrócić czas operacji zapisu do bazy danych w Hibernacji?

Hibernacja udostępnia funkcję sprawdzania błędów, której można użyć do skrócenia czasu zapisu do bazy danych. Brudna funkcja sprawdzania hibernacji aktualizuje tylko te pola, które wymagają zmiany, podczas gdy inne pozostają niezmienione.


20. Jakie jest zastosowanie interfejsów wywołań zwrotnych w trybie hibernacji?

Interfejsy wywołań zwrotnych hibernacji są przydatne w otrzymywaniu powiadomień o zdarzeniach z obiektów. Na przykład, gdy obiekt zostanie załadowany lub usunięty, generowane jest zdarzenie i wysyłane jest powiadomienie za pomocą interfejsów wywołania zwrotnego.


21. Kiedy instancja przechodzi w stan odłączony w stan hibernacji?

Kiedy instancja była wcześniej powiązana z jakimś trwałym kontekstem (np. tabelą) i nie jest już powiązana, nazywa się ją odłączoną.


22. Jakie cztery poziomy ORM znajdują się w stanie hibernacji?

Poniżej przedstawiono cztery poziomy ORM w stanie hibernacji:

  • Czysta relacja
  • Mapowanie obiektów świetlnych
  • Mapowanie średnich obiektów
  • Pełne mapowanie obiektów

23. Na czym polega zarządzanie transakcjami w trybie hibernacji? Jak to działa?

Zarządzanie transakcjami to proces zarządzania zestawem instrukcji lub poleceń. W stanie hibernacji; zarządzanie transakcjami odbywa się poprzez interfejs transakcyjny, jak pokazano w poniższym kodzie:

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. Jakie są dwie metody konfiguracji hibernacji?

Możemy zastosować dowolną z dwóch poniższych metod konfiguracji hibernacji:

  1. Konfiguracja oparta na formacie XML (przy użyciu pliku hibernate.cfg.xml)
  2. Konfiguracja programowa (przy użyciu logiki kodu)

25. Jaka jest domyślna usługa pamięci podręcznej hibernacji?

Hibernate obsługuje wiele usług pamięci podręcznej, takich jak EHCache, OSCache, SWARMCache i TreeCache, a domyślną usługą pamięci podręcznej hibernacji jest EHCache.


26. Jakie są dwa skojarzenia mapowania używane w hibernacji?

W stanie hibernacji; mamy następujące dwa typy mapowania powiązań pomiędzy podmiotami:

  1. Stowarzyszenie Jeden na Jeden
  2. Stowarzyszenie wiele do wielu

27. Jakie jest zastosowanie Hibernate QBC API?

Hibernate Query By Criteria (QBC) API służy do tworzenia zapytań poprzez manipulację obiektami kryteriów w czasie wykonywania.


28. Na ile sposobów można pobrać obiekty z bazy danych w stanie hibernacji?

Hibernate udostępnia cztery sposoby pobierania obiektów z bazy danych:

  • Korzystanie z HQL-a
  • Używanie identyfikatora
  • Korzystanie z interfejsu API kryteriów
  • Korzystanie ze standardowego SQL

29. Jak tworzony jest klucz podstawowy przy użyciu hibernacji?

Klucz podstawowy bazy danych jest określony w pliku konfiguracyjnym hbm.xml. Generatora można także użyć do określenia sposobu tworzenia klucza podstawowego w bazie danych.
W poniższym przykładzie deptId pełni rolę klucza podstawowego:


30. Jak ponownie dołączyć odłączone obiekty w trybie hibernacji?

Obiekty, które zostały odłączone i nie są już powiązane z żadnymi trwałymi bytami, można ponownie dołączyć, wywołując metodę session.merge() klasy sesji.


31. Jakie są różne sposoby wyłączania pamięci podręcznej drugiego poziomu hibernacji?

Pamięć podręczną drugiego poziomu hibernacji można wyłączyć w jeden z następujących sposobów:

  • Ustawiając use_ Second_level_cache jako false.
  • Używając CACHEMODE.IGNORE
  • Używanie dostawcy pamięci podręcznej jako org.hibernate.cache.NoCacheProvider

32. Czym są metadane ORM?

Całe mapowanie pomiędzy klasami i tabelami, właściwościami i kolumnami, typami Java i typami SQL itp. jest zdefiniowane w metadanych ORM.


33. Która z nich jest domyślną fabryką transakcji w trybie hibernacji?

W wersji hibernacji 3.2 domyślną fabryką transakcji jest JDBCTransactionFactory.


34. Jaka jest rola JMX w stanie hibernacji?

Aplikacje i komponenty Java są zarządzane w trybie hibernacji za pomocą standardowego interfejsu API zwanego JMX API. JMX zapewnia narzędzia do tworzenia wydajnych i solidnych rozproszonych rozwiązań internetowych.


35. Jak powiązać fabrykę sesji hibernacji z JNDI?

Fabrykę sesji Hibernate można powiązać z JNDI, dokonując zmian konfiguracyjnych w pliku hibernate.cfg.


36. Na ile sposobów można identyfikować obiekty w Hibernacji?

Identyfikację obiektu można przeprowadzić w stanie hibernacji na trzy sposoby:

  • Używanie tożsamości obiektu: Używanie operatora ==.
  • Korzystanie z równości obiektów: Korzystanie z metody równości().
  • Korzystanie z tożsamości bazy danych: Obiekty relacyjnej bazy danych można zidentyfikować, jeśli reprezentują ten sam wiersz.

37. Jakie są różne strategie pobierania w trybie hibernacji?

W trybie hibernacji dostępne są następujące strategie pobierania:

  1. Dołącz do Pobierania
  2. Pobieranie wsadowe
  3. Wybierz opcję Pobieranie
  4. Wybierz opcję Pobieranie

38. Jak mapuje się obiekty Java za pomocą tabel bazy danych?

Aby odwzorować obiekty Java na tabele bazy danych, nazwy właściwości komponentów Java muszą być takie same, jak nazwy kolumn tabeli bazy danych. Następnie mapowanie jest dostarczane w pliku hbm.xml, jak podano poniżej:


39. Jakie są właściwości pochodne w trybie hibernacji?

Właściwości pochodne to te właściwości, które nie są odwzorowane na żadną kolumnę tabeli bazy danych. Takie właściwości są obliczane w czasie wykonywania poprzez ocenę dowolnych wyrażeń.


40. Co oznacza nazwane zapytanie SQL w stanie hibernacji i jak jest używane?

Nazwane zapytania SQL to zapytania zdefiniowane w pliku mapowania i wywoływane w dowolnym miejscu, jeśli jest to wymagane.
Na przykład możemy zapisać zapytanie SQL w naszym pliku mapowania XML w następujący sposób:

Następnie to zapytanie można wywołać w następujący sposób:

List students = session.getNamedQuery("studentdetails")
.setString("TomBrady", name)
.setMaxResults(50)
.list();

41. Jaka jest różnica pomiędzy metodami Load() i get() w trybie hibernacji?

Metody Load() powodują wyjątek, jeśli w bazie danych nie zostaną znalezione wymagane rekordy, natomiast metoda get() zwraca wartość null, jeśli w bazie danych nie zostaną znalezione rekordy o podanym identyfikatorze.
Zatem w idealnym przypadku powinniśmy używać metody Load() tylko wtedy, gdy jesteśmy pewni istnienia rekordów dla identyfikatora.


42. Jaki jest pożytek z właściwości wersji w hibernacji?

Właściwość wersji jest używana w trybie hibernacji, aby wiedzieć, czy obiekt jest w stanie przejściowym, czy w stanie odłączonym.


43. Co to jest programowanie zorientowane na atrybuty?

W programowaniu zorientowanym na atrybuty programista może dodać metadane (atrybuty) do kodu źródłowego Java, aby zwiększyć znaczenie kodu. W przypadku języka Java (hibernacja) programowanie zorientowane na atrybuty umożliwia silnik o nazwie XDoclet.


44. Jaki jest pożytek session.lock() w stanie hibernacji?

Metoda session.lock() klasy sesji służy do ponownego podłączenia obiektu, który został wcześniej odłączony. Ta metoda ponownego dołączania nie sprawdza synchronizacji danych w bazie danych podczas ponownego dołączania obiektu i dlatego może prowadzić do braku synchronizacji danych.


45. Czy hibernacja obsługuje polimorfizm?

Tak, hibernacja w pełni obsługuje polimorfizm. Zapytania polimorficzne i skojarzenia polimorficzne są obsługiwane we wszystkich strategiach mapowania hibernacji.


46. ​​Jakie są trzy modele dziedziczenia w przypadku hibernacji?

Hibernate ma następujące trzy modele dziedziczenia:

  1. Tabele według klasy betonu
  2. Tabela według hierarchii klas
  3. Tabela według podklas

47. Jak możemy zmapować klasy jako niezmienne?

Jeśli nie chcemy, aby aplikacja aktualizowała lub usuwała obiekty klasy w stanie hibernacji, możemy uczynić klasę niezmienną, ustawiając mutable=false


48. Jaki jest ogólny przepływ hibernacji przy użyciu RDBMS?

Ogólny przebieg hibernacji obejmujący RDBMS jest następujący:

  • Załaduj plik konfiguracyjny i utwórz obiekt klasy konfiguracyjnej.
  • Używając obiektu konfiguracyjnego, utwórz obiekt sessionFactory.
  • Z sessionFactory uzyskaj jedną sesję.
  • Utwórz zapytanie HQL.
  • Wykonaj zapytanie HQL i uzyskaj wyniki. Wyniki będą miały formę listy.

49. Co to jest mapowanie obiektów świetlnych?

Mapowanie obiektów lekkich to jeden z poziomów jakości ORM, w którym wszystkie byty są reprezentowane jako klasy i są mapowane ręcznie.


50. Jaka jest różnica między skojarzeniami zarządzanymi a skojarzeniami w stanie hibernacji?

Zarządzane skojarzenia odnoszą się do trwałości zarządzania kontenerami i są dwukierunkowe, podczas gdy skojarzenia hibernacji są jednokierunkowe.


Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)

Share

Komentarze 4

  1. Avatar Bipil Raut – programista oprogramowania mówi:

    Świetne wyjaśnienie,,,,

  2. Czy możesz dodać również poniższe pytania

    Jak możemy wywołać procedury składowane w stanie hibernacji?
    Co to jest kolekcja uporządkowana i kolekcja posortowana
    co to jest stan trwały
    Jak skonfigurowane jest sprawdzanie brudu
    Skonfiguruj interfejs wywołania zwrotnego
    Jak odłączyć obiekt
    co się stanie, jeśli odłączę obiekt przejściowy
    wyjaśnij każdy poziom ORM w Hibernacji
    Jak włączyć/wyłączyć pamięć podręczną pierwszego i drugiego poziomu
    Jak możemy powiązać fabrykę sesji hibernacji z JNDI?
    Jaka jest różnica między metodą Load() i get() w trybie hibernacji?
    różnica między session.lock() i session.merge()
    Jak klasa jest mapowana jako niezmienna i dlaczego
    Jak możemy wykorzystać nowe niestandardowe interfejsy, aby zwiększyć funkcjonalność wbudowanych interfejsów hibernacji?

    1. Avatar Mehul Patel mówi:

      Hej administratorze. Będzie owocne, jeśli dodasz to pytanie lub ważniejsze pytania typu MCQ do egzaminu konkursowego

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *