Вступ до запитань та відповідей до сплячого інтерв'ю
Hibernate - це інструмент для відображення об’єктів, який допомагає спростити з’єднання програми з database.it забезпечує відображення об’єкта java з таблицями баз даних, це відображає клас java з таблицею в базі даних. Назва таблиці та класу залежить від вибору розробника розробника. У нього є функція назви імені відповідно до вимог бізнесу. Це згладжує підключення до бази даних програми. Hibernate також надає незалежну мову запитів від бази даних, яка відома як HQL - гібридна мова запитів. це об'єктно-орієнтована версія мови SQL, що допомагає додатку легко мігрувати з іншими базами даних у разі зміни бази даних у майбутньому часі.
Hibernate також надає безліч інших функцій, таких як автоматичне створення таблиці. Це одна з найпотужніших особливостей сплячого режиму. Щоб підтримати це лише ми повинні зробити невелику конфігурацію у XML-файлі, після чого все бере на себе лише сплячий режим. Зимова сплячка робить брудну перевірку означає, що вона завжди перевіряє стан об’єкта Java, якщо виявляє якісь зміни в стані об'єкта, він оновлює базу даних автоматично. він має атомно увімкнутий другий рівень, що сприяє підвищенню продуктивності програми. Це потужні риси сплячки.
Тепер, якщо ви шукаєте роботу, пов’язану зі спячим режимом, то вам потрібно підготуватися до запитань про співбесіду в 2019 році. Це правда, що кожне інтерв'ю відрізняється за різними профілями роботи. Тут ми підготували важливі запитання та відповіді про інтерв'ю в 2019 році, які допоможуть вам досягти успіху в інтерв'ю.
Нижче наведено 10 важливих запитань та відповідей у сплячому режимі, які часто задаються в інтерв'ю. Ці питання поділяються на дві частини:
Частина 1 - Питання щодо інтерв'ю в сплячому режимі (основні)
Ця перша частина охоплює основні запитання та відповіді щодо сплячого інтерв'ю.
1) Відмінніть між завантаженням та завантаженням у сплячому режимі?
Відповідь:
Метод Get потрапляє в базу даних завжди, якщо в ній не знайдено кешований об’єкт. Він дає повністю ініціалізований об'єкт, який може включати кілька викликів баз даних, це може погіршити продуктивність програми, хоча метод завантаження може повернути проксі-об'єкт, якщо об'єкт не кешований, він потрапляє в базу даних для всіх методів об'єкта, крім методу getId () . Якщо об'єкт ніде не знайдеться метод get return null value, тоді як метод load перекине виняток ObjectNotFoundException. Таким чином, ми можемо використовувати ці методи відповідно до наших вимог.
2) Яка різниця між стійким, тимчасовим та відірваним об’єктом?
Відповідь:
У сплячому режимі є 3 стани Об'єкта, наведені нижче.
Це тимчасові, стійкі, відсторонені. Будь-який об’єкт буде перебувати в стані постійності, якщо він пов'язаний із сеансом сплячки. будь-яка зміна поточного об'єкта відображатиметься в базі даних на основі нашої стратегії промивання. Автоматичний флеш виникає всякий раз, коли будь-яке властивість зміни об'єкта або явне промивання за допомогою виклику методу flush () класу Сесія У випадку екземпляра, який раніше був пов'язаний з деяким стійким контекстом, але тепер він більше не асоціюється, він відключається.
Перейдемо до наступних питань сплячого інтерв'ю.
3) Чи можна зробити фінальним сплячим суб'єктом господарювання клас фіналу?
Відповідь:
Так, можна зробити заключний клас Hibernate Entity, але це не є хорошою практикою. Оскільки Hibernate використовує проксі-шаблон для поліпшення продуктивності програми та у випадку ледачої асоціації, зробивши клас сутності як остаточний, Hibernate більше не зможе використовувати проксі-сервер. випускного класу; це обмежує варіанти підвищення продуктивності. Хоча ми можемо вирішити цю проблему, якщо наш стійкий клас - це реалізація інтерфейсу, який оголошує всі публічні методи, визначені в класі Entity.
4) Поясніть кеш запитів?
Відповідь:
Це поширені запитання про інтерв'ю, що перебувають у сплячому стані, задані в інтерв'ю. Кеш запитів використовується для зберігання результатів запиту SQL для майбутніх викликів для підвищення продуктивності. Його також можна використовувати разом з кешем другого рівня в сплячому режимі для підвищення продуктивності програми. Hibernate має багато кешованих відкритих рішень для реалізації кешу запитів.
5) Чому потрібно не надавати конструкторів аргументів в Entities?
Відповідь:
Клас Entity повинен містити конструктор аргументів, оскільки фреймворк Hibernate створює об'єкт цих класів за допомогою API Reflection, викликаючи новий метод Instance () класу Class. Виняток миттєвого інстанції буде викинуто цим методом, якщо він не знайде жодного конструктора аргументів у класі Entity.
Частина 2 - Запитання щодо інтерв'ю в сплячому режимі (розширено)
Давайте тепер подивимось на передові питання щодо інтерв'ю зі сплячого режиму.
6) Поясніть метод lock () сеансу в сплячому режимі?
Відповідь:
Метод lock () класу Session використовується для повторного приєднання об'єкта без оновлення чи синхронізації з базою даних. Тому нам потрібно бути дуже обережними, використовуючи цей метод. Ми завжди можемо використовувати метод update () для синхронізації з базою даних під час повторного введення.
7) Поясніть кеш другого рівня в сплячому режимі?
Відповідь:
Кеш другого рівня підтримується на рівні Factory Session і використовується для поліпшення продуктивності програми, економлячи декілька зворотних поїздок до бази даних. Він також доступний для всієї програми, а не для будь-якого конкретного сеансу
Перейдемо до наступних питань сплячого інтерв'ю.
8) Які переваги припадають на сплячку над JDBC?
Відповідь:
Hibernate може використовуватися з будь-яким типом баз даних, тому що вона не залежить від бази даних, тоді як в JDBC, Developer повинен писати запити для баз даних.
У сплячому режимі нам не потрібно бути експертом із написання складних типів запитів, оскільки HQL полегшує процес написання запитів, тоді як у випадку JDBC розробник повинен писати та налаштовувати запити.
У сплячому режимі немає необхідності створювати пули з'єднань, тому що в сплячому режимі все обробка з'єднань відбувається автоматично У JDBC пул підключення повинен створюватися розробником
9) Скільки способів можна визначити об'єкти та Які різні способи отримання в сплячому режимі?
Відповідь:
Це найчастіші запитання щодо сплячого інтерв'ю в інтерв'ю. Для ідентифікації об'єкта нижче наведено три способи.
Використання ідентичності бази даних: Реляційні об’єкти бази даних можуть бути ідентифіковані, якщо вони представляють один і той же рядок.
Використання об'єктної рівності: Використання методу equals ().
Використання ідентичності об'єкта: використання оператора ==.
Нижче наведено стратегії отримання, які доступні в сплячому режимі:
Вибір партії
Приєднуйтесь до вилучення
Підберіть пункт Вибір
Виберіть "Вибір"
10) Розкажіть декілька назв інтерфейсу Hibernate Framework?
Відповідь:
Сесія Фабрика: це незмінний потоковий кеш зібраних відображень для однієї бази даних. Ми повинні ініціалізувати його один раз, тоді ми можемо кешувати і використовувати його повторно. його примірник використовується для отримання об'єктів Session для різних операцій з базою даних.
Сесія - це однопоточний короткотривалий об’єкт, що представляє інтерфейс між додатком та стійким магазином. Він обгортає JDBC java.sql.Connection і працює як фабрика для транзакцій. Ви повинні відкривати сеанс лише тоді, коли це потрібно, і закрити його, як тільки ви закінчите його використання. Об'єктом сеансу є інтерфейс між кодом програми java та гібернаційною рамкою та надає різні методи для операцій CRUD на Java.
Транзакція): це однопоточний короткотривалий об'єкт, який використовується додатком java для визначення атомних одиниць роботи. Він абстрагує програму від основної транзакції JTA або JDBC. Сесія може містити кілька транзакцій у деяких випадках.
Рекомендовані статті
Це було керівництвом до списку запитань та відповідей зі сплячого сплячого, щоб кандидат міг легко розірвати ці сплячі питання щодо інтерв'ю. Тут, у цій публікації, ми вивчили найпопулярніші запитання щодо інтерв'ю, які часто задаються в інтерв'ю. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Запитання щодо інтерв'ю WCF
- Питання для інтерв'ю Докер
- Весняні рамки Інтерв'ю Питання
- Питання щодо інтерв'ю PLSQL