Введение в вопросы и ответы Hibernate Интервью
Hibernate - это инструмент сопоставления объектов, который помогает упростить соединение приложения с базой данных. Он обеспечивает сопоставление объекта Java с таблицами базы данных. Это означает, что он сопоставляет класс Java с таблицей в базе данных. Имя таблицы и класса зависит от выбора разработчика разработчиком. У него есть возможность дать имя в соответствии с требованиями бизнеса. Это гладкая база данных подключения приложения. Hibernate также предоставляет независимый от базы данных язык запросов, который известен как HQL - язык запросов Hibernate. это объектно-ориентированная версия языка SQL, которая помогает приложению легко мигрировать с другими базами данных в случае изменения базы данных в будущем.
Hibernate также предоставляет множество других функций, таких как автоматическое создание таблиц, это одна из самых мощных функций hibernate. Только для поддержки этого мы должны выполнить небольшую настройку в XML-файле, после чего все заботится только о спящем режиме. Hibernate делать грязную проверку означает, что он всегда проверяет состояние объекта Java, если он находит какие-либо изменения в состоянии объекта, который он обновляет базу данных автоматически. у него есть атомный контроль второго уровня, который помогает улучшить производительность приложения. Это мощные функции Hibernate.
Теперь, если вы ищете работу, связанную с Hibernate, вам нужно подготовиться к Вопросам об интервью Hibernate 2019 года. Это правда, что каждое собеседование отличается в зависимости от профилей работы. Здесь мы подготовили важные вопросы и ответы по интервью Hibernate 2019 года, которые помогут вам добиться успеха в вашем интервью.
Ниже приведены 10 важных вопросов и ответов, которые часто задают в интервью. Эти вопросы делятся на две части:
Часть 1 - Hibernate Интервью Вопросы (Основной)
Эта первая часть охватывает основные вопросы и ответы Hibernate.
1) Различить получение и загрузку в Hibernate?
Ответ:
Метод Get всегда попадает в базу данных, если он не нашел кэшированный объект. Он дает полностью инициализированный объект, который может включать несколько вызовов базы данных, что может снизить производительность приложения, в то время как метод load может вернуть прокси-объект, если объект не кэшируется, он обращается к базе данных для всех методов объекта, кроме метода getId (), Если объект нигде не найден, метод get возвращает нулевое значение, а метод load вызывает исключение ObjectNotFoundException. Таким образом, мы можем использовать эти методы в соответствии с нашими требованиями.
2) В чем разница между постоянным, временным и обособленным объектом?
Ответ:
В Hibernate есть 3 состояния объекта, приведенные ниже.
Они преходящие, постоянные, отстраненные. Любой объект будет находиться в постоянном состоянии, если он связан с сеансом Hibernate. любое изменение в текущем объекте будет отражено в базе данных на основе нашей стратегии сброса. Автоматическая очистка происходит всякий раз, когда происходит изменение какого-либо свойства объекта или явная очистка путем вызова метода flush () класса Session. В случае экземпляра, который ранее был связан с каким-то постоянным контекстом, но теперь он больше не связан, он находится в отключенном состоянии.
Давайте перейдем к следующим вопросам интервью Hibernate.
3) Можно ли сделать финальный класс Hibernate Entity?
Ответ:
Да, класс Hibernate Entity можно сделать финальным, но это не очень хорошая практика. Поскольку Hibernate использует шаблон прокси для улучшения производительности приложения, а в случае ленивой ассоциации, делая класс сущности финальным, Hibernate больше не сможет использовать прокси, причина в том, что Java не допускает расширения финального класса; это ограничивает возможности улучшения производительности. Тем не менее, мы можем решить эту проблему, если наш постоянный класс является реализацией интерфейса, который объявляет все открытые методы, определенные в классе Entity.
4) Объясните кеш запросов?
Ответ:
Это общие вопросы интервью Hibernate, задаваемые в интервью. Query Cache используется для хранения результатов SQL-запроса для будущих вызовов для повышения производительности. Его также можно использовать вместе с кэшем второго уровня hibernate для повышения производительности приложения. В Hibernate есть множество решений для кэширования с открытым исходным кодом для реализации кеша запросов.
5) Почему не нужно предоставлять конструктор аргументов в сущностях?
Ответ:
Класс Entity должен содержать конструктор без аргументов, поскольку Hibernate Framework создает объект этих классов с помощью Reflection API, вызывая новый метод Instance () класса Class. Этот метод создает исключение Instantiation, если он не нашел конструктора аргумента внутри класса Entity.
Часть 2 - Hibernate Интервью Вопросы (Advanced)
Давайте теперь посмотрим на расширенные вопросы интервью Hibernate.
6) Объясните метод блокировки сессии (Session) в Hibernate?
Ответ:
Метод lock () класса сеанса используется для повторного присоединения объекта без обновления или синхронизации с базой данных. Поэтому мы должны быть очень осторожны при использовании этого метода. Мы всегда можем использовать метод update () для синхронизации с базой данных во время присоединения.
7) Объясните кэш второго уровня в Hibernate?
Ответ:
Кэш-память второго уровня поддерживается на уровне фабрики сеансов и используется для повышения производительности приложения за счет экономии нескольких обращений к базе данных. Он также доступен для всего приложения, а не для какой-либо конкретной сессии
Давайте перейдем к следующим вопросам интервью Hibernate.
8) Каковы преимущества спящего режима по сравнению с JDBC?
Ответ:
Hibernate можно использовать с любым типом базы данных, поскольку он не зависит от базы данных, в то время как в JDBC разработчику приходится писать запросы к базе данных.
В hibernate нам не нужно быть экспертом в написании сложных типов запросов, потому что HQL упрощает процесс написания запросов, тогда как в случае JDBC разработчик должен писать и настраивать запросы.
В hibernate нет необходимости создавать пулы соединений, потому что hibernate выполняет всю обработку соединений автоматически. В JDBC пулы соединений должны создаваться разработчиком.
9) Во сколько способов можно идентифицировать объекты и каковы различные способы получения в Hibernate?
Ответ:
Это наиболее часто задаваемые вопросы интервью Hibernate в интервью. Для идентификации объекта ниже перечислены три способа.
Использование идентификатора базы данных: объекты реляционной базы данных могут быть идентифицированы, если они представляют одну и ту же строку.
Использование равенства объектов: Использование метода equals ().
Использование идентификации объекта: использование оператора ==.
Ниже приведены стратегии извлечения, доступные в спящем режиме:
Пакетная выборка
Присоединяйтесь
Выборочный выбор
Выбрать выборку
10) Скажите несколько интерфейсов имя Hibernate Framework?
Ответ:
Фабрика сеансов: это неизменяемый потокобезопасный кэш скомпилированных отображений для одной базы данных. Мы должны инициализировать его один раз, затем мы можем его кешировать и использовать повторно. его экземпляр используется для получения объектов Session для различных операций с базой данных.
Сеанс - это однопоточный, недолговечный объект, представляющий интерфейс между приложением и постоянным хранилищем. Он оборачивает JDBC java.sql.Connection и работает как фабрика для транзакций. Вы должны открывать сеанс только тогда, когда он необходим, и закрывать его, как только вы закончите с ним. Сеансовый объект является интерфейсом между кодом приложения Java и средой гибернации и предоставляет различные методы для операций CRUD в Java.
Транзакция): это однопоточный, недолговечный объект, используемый приложением java для определения атомарных единиц работы. Он абстрагирует приложение от базовой транзакции JTA или JDBC. Сессия может содержать несколько транзакций в некоторых случаях.
Рекомендуемые статьи
Это было руководство к списку Вопросов и Ответов на Собеседование в Hibernate, чтобы кандидат мог легко разобраться в этих Вопросах для Собеседования. Здесь, в этом посте, мы изучили лучшие вопросы интервью Hibernate, которые часто задают в интервью. Вы также можете посмотреть следующие статьи, чтобы узнать больше -
- WCF Интервью Вопросы
- Docker Интервью Вопросы
- Spring Framework Интервью Вопросы
- PLSQL Interview Вопросы