Top 50 pytań i odpowiedzi na wywiad dotyczący hibernacji [dla początkujących i doświadczonych]

Opublikowany: 2020-12-15

Spis treści

Wstęp

Hibernate to lekka, open-source technika w Javie, w tym Blogu, zrozumiemy proces i mechanizm Hibernate za pomocą najlepszych „50 pytań do wywiadu Hibernate z odpowiedziami.

Co to jest hibernacja?

Hibernate to lekkie narzędzie do mapowania obiektowo-relacyjnego typu open source. Zapewnia strukturę do mapowania zorientowanych obiektowo modeli domen na relacyjne bazy danych dla aplikacji internetowych.

Oto kilka pytań, które powinniśmy zadać na temat wymagań aplikacji przed dostosowaniem Hibernate:

  1. Jakiego modelu danych możemy użyć do tworzenia nowego projektu, projektowania aplikacji lub modelu danych?
  2. Jaki jest poziom wydajności pamięci podręcznej?
  3. Jak możemy zdefiniować pismo proste lub złożone?
  4. Do czego służy skalowalność i w jakim scenariuszu możemy ją wykorzystać?
  5. W jakim scenariuszu ważne jest automatyczne wersjonowanie bazy danych?
  6. Czy potrzebujemy relacyjnej trwałości dla JAVA?
  7. Do czego służy wsparcie dla języka zapytań i w jakim scenariuszu możemy z niego korzystać?
  8. Jaki jest proces Transparent Persistence i jego wpływ na projekt?

Narzędzie ORM

Interpretuje tworzenie danych, manipulację danymi i dostęp do danych. Jest to podejście programistyczne, które odwzorowuje obiekt na dane przechowywane w bazie danych.

Co to jest Hibernate Framework?

Hibernate to obiektowo-relacyjne rozwiązanie do mapowania narzędzi ORM oparte na Javie. Jest to mapowanie obiektowo-relacyjne, które jest procedurą programistyczną służącą do mapowania obiektów modelu domeny aplikacji na tabele relacyjnej bazy danych. Implementuje źródło implementacji Java Persistence API, które zapewnia doskonały wybór jako narzędzie ORM z zaletami luźnego łączenia.

Korzyści z Hibernate Framework

  1. Lekkość i szybka wydajność: wydajność frameworku Hibernate jest zwinna dzięki pamięci podręcznej, która działa wewnętrznie we frameworku Hibernate. Pamięć podręczna we frameworku Hibernate to pamięć podręczna pierwszego poziomu i pamięć podręczna drugiego poziomu.
  2. Database Autonomous Query: HQL (Hibernate Query Language) to zorientowany obiektowo wariant SQL. Tworzy niezależne zapytania do bazy danych bez pisania zapytań specyficznych dla bazy danych.
  3. Automatyczne tworzenie tabel: platforma Hibernate daje możliwość automatycznego generowania tabel bazy danych. Bez ręcznego tworzenia tabel w bazie danych.
  4. Upraszcza złożone łączenie: pobieranie danych z zagregowanych tabel jest łatwe w środowisku Hibernate.
  5. Obsługuje statystyki zapytań i stan bazy danych: Hibernate utrzymuje pamięć podręczną zapytań i zapewnia szybkie wyniki statystyczne.

Hibernacja architektury

Architektura Hibernate konsoliduje wiele obiektów, takich jak obiekt trwały, fabryka sesji, fabryka transakcji, fabryka połączeń, sesja, transakcja.

Architektura hibernacji jest podzielona na cztery warstwy:

  • Warstwa aplikacji Java
  • Hibernacja warstwy struktury
  • Poziom backhandu API
  • Warstwa bazy danych

Dlaczego powinniśmy wybrać proces Hibernacji?

Oto poniższe techniki i procesy, które możemy zastosować, rozpoczynając adaptację procesu:

  • Hibernate umożliwia programistom określanie pól typu wersji w aplikacji, które można modyfikować w danych w czasie rzeczywistym; ta funkcja zapewnia użytkownikowi możliwość zapisywania danych i jednoczesnej ich modyfikacji.
  • Hibernate implementuje pomoc w adnotacjach JPA, na przykład: @Entity, @Table, @Col, itp.
  • W Hibernate łączenie połączeń jest techniką w połączeniach bazodanowych, gdy tworzymy i przechowujemy w pamięci podręcznej przez zewnętrzne narzędzie, połączenia te możemy ponownie wykorzystać z samej pamięci podręcznej w przyszłości, jeśli będziemy musieli ponownie użyć, aby połączyć się z tą samą bazą danych w nasza aplikacja, którą stworzyliśmy
  • Hibernate zapewnia najwyższy stopień skalowalności w każdym środowisku. Można to ćwiczyć w przypadku wszystkich rozmiarów projektów, od małej aplikacji po taką, z której korzystają miliony.
  • W Hibernate wersjonowanie bazy danych jest ważnym narzędziem, które pomaga zapobiegać nieumyślnemu cofnięciu zmian przez innych użytkowników. Pozwala na rejestrację typów wersji w aplikacji. Gdy dane są aktualizowane lub przechowywane, typ wersji i znacznik czasu, możemy również rejestrować w celu śledzenia.
  • Hibernate implementuje przezroczystą trwałość, a programista nie musi jawnie pisać kodu, aby mapować krotki tabeli bazy danych na obiekty aplikacji podczas interakcji z RDBMS.
  • W Hibernate Zarządzanie transakcjami to metoda wykonywania zestawu instrukcji lub poleceń. W Hibernate zarządzanie transakcjami odbywa się za pomocą interfejsu transakcyjnego.

Pięć powodów, dla których warto rozważyć Hibernate zamiast JDBC

  1. Rozwiązuje złożone problemy związane z niedopasowaniem obiektowo-relacyjnym:

Zapewnia szybkie rozwiązanie w obiektowym języku programowania z relacyjną bazą danych.

Przykład: rozbieżności w typach danych, różnice strukturalne i integralności, wyjątki manipulacyjne i transakcyjne mogą powodować niezgodności złożone obiektowo-relacyjne.

2. Automatyczne mapowanie obiektów:

JDBC i Hibernate polegają na tym, że obsługuje automatyczne mapowanie obiektów.” Transparent Persistence”, ta metoda zapewnia Hibernate do tworzenia tabel bazy danych w obiektach aplikacji poprzez interakcję.

  1. Hibernacja języka zapytań (HQL)

Hibernate obsługuje Structured Query Language (SQL). JDBC obsługuje tylko SQL, Hibernate Query Language (HQL) jest powiązany z SQL, ponieważ jest zorientowanym obiektowo językiem zapytań. Aby połączyć sposób, HQL interpretuje zapytania w kierunku zapytań SQL, które mogą następnie uruchamiać operacje w bazie danych.

  1. Niezależność od bazy danych

Hibernate umożliwia mapowanie łączące tabele danych i aplikacje za pomocą plików XML; zapewnia lepsze sposoby przesyłania danych do nowej bazy danych w razie potrzeby. Przy sposobie dostępu do baz danych informacje są niezbędne, jeśli w przypadku ich ponownego wykorzystania. Buforowanie jest niezbędnym elementem wydajności bazy danych, który skraca czas i wspiera aplikacje w czasie rzeczywistym.

  1. Pule połączeń w Hibernate:

Hibernate może osiągnąć bardziej niezawodną wydajność; zapewnia „zestawianie połączeń”; jest to proces zbierania połączeń z bazą danych w pamięci podręcznej. Te połączenia mogą być wielokrotnego użytku z samej pamięci podręcznej, jeśli aplikacja wielokrotnie próbuje połączyć się z identyczną bazą danych.

Hibernacja Pytania i odpowiedzi na wywiad

Pytanie:1 Jak skonfigurować Hibernate do zapisywania wykonywanych instrukcji SQL i używania parametrów wiązania do pliku dziennika?

Odpowiedź: Oto poniższe kroki:

Utwórz dwie różne sekcje dziennika i poziomy dziennika, aby rejestrować wykonane instrukcje SQL i parametry powiązania:

  • Kategoria org.hibernate.SQL .
  • Kategoria org.hibernate.type.descriptor.sql z TRACE na poziomie dziennika.

Pytanie:2 Opisz swoje ulubione funkcje platformy Hibernate.

Odpowiedź: Narzędzie ORM, Hibernate zapewnia potężny język zapytań (HQL)

Pytanie:3 Jak odróżnić fasolę jednostki od hibernacji.

Odpowiedź: Ziarna encji to pojemniki, klasy, deskryptory. Hibernate to narzędzie, które natychmiast utrwala drzewo obiektów w klasie.

Pytanie:4 Wyjaśnij proces obiektu Session i jak możemy go użyć w pamięci podręcznej pierwszego poziomu i pamięci podręcznej drugiego poziomu?

Odpowiedź: Buforowanie pierwszego poziomu : Rozpoczyna się na podstawie każdej sesji , od obiektusesji .

Buforowanie drugiego poziomu: można go udostępniać poza wieloma sesjami .

Pytanie:5 Jak działa dziedziczenie w Hibernacji? Jakie są dostępne strategie jego realizacji?

Odpowiedź: Trzy rodzaje dziedziczenia:

  1. Tabela według hierarchii
  2. Tabela według klasy betonu
  3. Tabela na podklasę

Pytanie:6 Jak działa blokowanie w trybie hibernacji? Jakie są dostępne różne mechanizmy blokujące?

Odpowiedź: Mechanizmy blokujące są optymistyczne i pesymistyczne Pytanie:7 Jak działa zarządzanie transakcjami w Hibernate?

Odpowiedź: Działa z pomocą (JTA, JDBC).

Pytanie:8 Co to jest leniwe ładowanie w Hibernate?

Odpowiedź: Mechanizm ten dotyczy podmiotów i ich stowarzyszeń poprzez implementację pełnomocnika klas.

Pytanie:9 Jakie są różne strategie pobierania dostępne w Hibernate?

Odpowiedź: Dołącz do pobierania i wybierz pobieranie

Pytanie:10 Jakie są różne strategie pobierania dostępne w Hibernate?

Odpowiedź: Join-Fetching i Select Fetching to pobieranie dostępne w Hibernate.

Pytanie:11 Jaka jest różnica między pobieraniem metod () i load() w Hibernate?

Odpowiedź : uzyskiwanie() i load(), które służą do pobierania danych dla przypisanego identyfikatora. Metoda Get() zwraca null, metoda load() zgłasza błąd obiektu nie znaleziono typu wyjątku.

Pytanie:12 Dlaczego nie powinieneś uczynić klasy encji ostateczną?

Odpowiedź: Służy do wiązania encji .

Pytanie:13 Wyjaśnij zalety i wady przedmiotów wolnostojących.

Odpowiedź: W przeszłości było to związane z sesją Hibernate; ma opis w bazie danych

Pytanie:14 Co to jest Hibernate Query Language (HQL)?

Odpowiedź: Opiera się na koncepcjach OOPS.

Pytanie:15 Określ rolę interfejsu SessionFactory w Hibernate.

Odpowiedź: Jest to proces obiektu bezpiecznego dla wątków i może być używany w procesie wątku aplikacji

Pytanie:16 Jaka jest przewaga Hibernate nad JDBC?

Odpowiedź: Zapewnia najszybszą wydajność i skalowalność.

Pytanie:17 Opisz niektóre bazy danych obsługiwane przez Hibernate.

Odpowiedź: Relacyjna baza danych przy użyciu JDBC.

Pytanie:18 Jak odróżnić metodę session.save() i session.persist()?

Odpowiedź: Session.save() służy do zapisywania obiektu w bazie danych, a session.persist() do przejściowych, trwałych obiektów.

Pytanie:19 Wyjaśnij metodę aktualizacji i scalania?

Odpowiedź: Można go użyć do przekształcenia obiektu, który jest w stanie odłączonym.

Pytanie:20 Czy możliwe jest mapowanie kolekcji za pomocą funkcji Jeden-do-Jednego i Wiele-do-jednego?

Odpowiedź: Może być użyty w tabeli, która jest odwzorowana na wiele wierszy w innej tabeli.

Pytanie:21 Jak wykonać transakcję w Hibernate?

Odpowiedź: Za pomocą deklaracji klasy @transctional możemy przeprowadzić transakcję.

Pytanie:22 Gdzie są reprezentowane odwzorowania obiektowe/relacyjne w Hibernate?

Odpowiedź: Hibernate ORM to odwzorowania obiektowe/relacyjne.

Pytanie:23 Jaka jest twoja myśl o Lekkim Przedmiocie?

Odpowiedź: Sesja, Zapytanie, Kryteria, Transakcja to pojęcie Obiektu Światła.

Pytanie:24 Co to jest @Transient w trybie hibernacji? Jaka jest z tego korzyść?

Odpowiedź: @ Przejściowe Zastosowano w javax, jego pakiet utrwalający.

Pytanie:25 Jak połączyć Hibernate Struts Spring?

Odpowiedź: Za pomocą ContextLoaderPlugIn możemy łączyć.

Pytanie: 26 Wyjaśnij na temat Hibernate Log4j Logging.

Odpowiedź: Składa się z pliku By log4j.xml oraz log4j.properties.

Pytanie: 27 Jak możemy ograniczyć współbieżne aktualizacje w Hibernate?

Odpowiedź: Za pomocą pesymistycznego procesu blokowania możemy ograniczyć jednoczesne aktualizacje.

Pytanie: 28 Jakie są najlepsze metody określania twoich trwałych klas Hibernate?

Odpowiedź: Istnieje wiele najlepszych metod i najlepszych praktyk, których możemy użyć z klasą Mapping i jej mechanizmami.

Pytanie: 29 Jaka jest koncepcja Modyfikowania trwałych obiektów?

Odpowiedź: obiekty trwałe są ścigane przez hibernację i są przechowywane w bazie danych, gdy wystąpi żądanie zatwierdzenia.

Pytanie: 30 Czym jest dwukierunkowa relacja jeden do wielu w trybie hibernacji?

Odpowiedź: Jest to odniesienie do uchwytu atrybutu asocjacji wielu widoków jako zaleta atrybutu mappedBy, Hibernate ma całą potrzebną erudycję. W przypadku tych procesów musimy zdefiniować dwukierunkową asocjację wiele do jednego.

Przeczytaj: Umiejętności, aby zostać pełnoprawnym programistą

Pytanie: 31 Co to jest zastępowanie wartości w pracy Message Resource Bundle?

Odpowiedź: Hibernate Validator ResourceBundleMessageInterpolator generuje dwie instancje ResourceBundleLocator , jedną dla walidacji UserDefined Standardowe komunikaty walidacyjne – defaultResourceBundleLocator .

Pytanie: 32 Wyjaśnij proces kolejności wykonywania instrukcji SQL.

Odpowiedź: Jest to pamięć podręczna drugiego poziomu w określonej kolejności ze względu na ograniczenia kluczy obcych: wstawki, aktualizacje, usuwanie elementów tablicy, wstawianie elementów tablicy, usuwanie, w kierunku, w którym zostały przedstawione

Pytanie: 33 Jak ustawić pamięć podręczną drugiego poziomu w Hibernate z EHCache?

Odpowiedź: Terracotta Ehcache to nowoczesna pamięć podręczna, która działała jako pamięć podręczna drugiego poziomu Hibernate . Może być stosowany jako samodzielna pamięć podręczna drugiego poziomu .

Pytanie: 34 Jaka jest główna wariancja między ziarnami jednostek a hibernacją?

Odpowiedź: Fasola Entity nadal jest wykonywana przez deskryptory, pojemniki, klasy. Hibernate to po prostu mechanizm, który natychmiast przenosi drzewo obiektów do hierarchii klas w bazie danych.

Pytanie: 35 Wyjaśnij kroki, aby dołączyć obsługiwane za pomocą Hibernate?

Odpowiedź: Z pomocą SQL Join możemy sobie z tym poradzić.

Pytanie: 36 Wyjaśnij proces Hibernate proxy?

Odpowiedź: Hibernacja proxy Odnosi się to do hibernacji , gdy nazywamy sesję. Załaduj().

Pytanie: 37 Jaka jest główna zaleta używania Hibernate niż używanie SQL?

Odpowiedź: Z praktyką ORM i przy użyciu Hibernate , użycie SQL oznacza, że ​​Hibernate unika pisania zapytań na dużą skalę.

Pytanie: 38 Wyjaśnij wzorce projektowe, których możemy użyć w Hibernate?

Odpowiedź : Wzorce projektowe to wzorzec proxy, model domeny i model obiektowy.

Przeczytaj także: Kariera w rozwoju pełnego stosu

Pytanie: 39 Wyjaśnij architekturę Hibernate.

Odpowiedź: Hibernate ma architekturę warstwową, która umożliwia użytkownikowi zarządzanie bez konieczności rozumienia podstawowych interfejsów API

Pytanie: 40 Wymień typy danych obsługiwane w Hibernate?

Odpowiedź: IntegerType,FloatType,DoubleType,CharacterType,ShortType.

Pytanie: 41 Co to jest (JDO, CMP)?

Odpowiedź: Jego technologie trwałości Java.

Pytanie: 42 Jaka jest główna wariancja między wiosną a hibernacją?

Odpowiedź: Wiosna i hibernacja to dwa oddzielne frameworki. Wiosenne kontrakty ze wzmocnieniem przepływu aplikacji. Hibernate dotyczy interakcji między aplikacją a bazą danych.

Pytanie: 43 Kiedy możemy znaleźć rozwiązania ORM w Hibernate?

Odpowiedź: Hibernate to koncepcja rozwiązania Object/Relational Mapping (ORM) dla Javy; termin Object/Relational Mapping dotyczy procedury mapowania danych z opisu modelu obiektowego na opis relacyjnego modelu danych.

Pytanie:44 Wspomnij krok po kroku, jak zakończyć transakcję w Hibernate.

Odpowiedź: za pomocą właściwości ACID-> (Atomowość, Konsystencja, Izolacja i Trwałość).

Pytanie:45 Gdzie są mapowania w Hibernate?

Odpowiedź: Mapowania Hibernate są cechami Hibernate; organizują połączenie między dwiema tabelami bazy danych, podczas gdy atrybuty w modelu. Pozwala to szybko sterować asocjacjami w zapytaniach dotyczących modelu i standardów.

Pytanie:46 Czy możesz dotknąć różnych typów relacji możliwych w mapowaniu Hibernate?

Odpowiedź: Jeden do jednego, wielu do jednego, jeden do wielu, wiele do wielu.

Pytanie:47 Gdzie możemy zdefiniować mapowania obiektów w Hibernate?

Odpowiedź: Konwersja obiektów Java na zapytania SQL do przechowywania danych.

Pytanie:48 Czy możesz wymienić liczne typy kolekcji w Hibernate?

Odpowiedź: HashMap, HashSet, TreeSet i Arraylist to typy kolekcji w Hibernate.

Pytanie:49 Jak wygląda proces pobierania danych z bazy danych w Hibernate?

Odpowiedź: Za pomocą kryteriów Hibernate z funkcją API beginTransaction() z sesją możemy pobrać dane.

Pytanie:50 Wyjaśnij na temat plików mapowania Hibernacji za pomocą adnotacji JPA @NamedQuery i @NamedNativeQuery.

Odpowiedź: @NamedQuery i @NamedNativeQuery to typy zapytań HQL, które obsługują złożoność przekształcania HQL w liczne dialekty SQL.

Zapisz się na kursy inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Wniosek

Mamy nadzieję, że ten artykuł pomógł Ci zrozumieć 50 najważniejszych pytań „Wywiad” Hibernate dla początkujących i profesjonalistów.

Jeśli chcesz dowiedzieć się więcej o tworzeniu oprogramowania z pełnym pakietem, zapoznaj się z programem Executive PG UpGrad i IIIT-B w zakresie tworzenia oprogramowania z pełnym pakietem, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów, i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.

Wyląduj na swojej wymarzonej pracy

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania