17 июня 2022 2431
Мы продолжаем серию статей об объектно-реляционном отображении с помощью JPA, Hibernate и Spring Data JPA. На этот раз мы рассмотрим конфигурацию нативного интерфейса Hibernate.
Конфигурация нативного интерфейса Hibernate

Интерфейс Hibernate org.hibernate.SessionFactory является нативным соответствием JPA EntityManagerFactory.

Для настройки нативного интерфейса Hibernate можно использовать файл свойств Java hibernate.properties или XML файл hibernate.cfg.xml. Выбираем второй вариант, и для настройки будут доступны опции для базы данных и сессии. Этот XML файл обычно находится в папке src/main/resource or src/test/resource. Поскольку нам необходима информация для конфигурации Hibernate в тестах, выбираем второе альтернативное расположение.

Листинг 5. Файл конфигурации hibernate.cfg.xml



image (1).png

  • Мы используем теги, чтобы указать на то, что мы настраиваем Hibernate #1, а именно объект SessionFactory #2. SessionFactory — это интерфейс, и нам необходимо иметь один объект SessionFactory для взаимодействия с одной базой данных.
  • Указываем свойства JDBC - драйвер #3, URL базы данных #4, имя пользователя #5 и пароль #6 для доступа.
  • Мы ограничим число подключений, находящихся в режиме ожидания в пуле подключений базы данных Hibernate, до 50 #7.
  • Каждый раз, когда выполняется программа, база данных создается заново с нуля #8. Это идеально для автоматизированного тестирования, когда нам для запуска каждого теста нужна чистая база данных.
Сохраняем запись Item в базу данных, используя нативный интерфейс Hibernate.

Листинг 6. Класс ItemHibernateTest

image (1).png

  • Для создания SessionFactory необходимо создать Configuration #1, чтобы вызывать метод configure и добавить Item к аннотированному классу #2. Выполнение метода configure приведет к загрузке содержимого файла по умолчанию hibernate.cfg.xml.
  • Создаем и настраиваем реестр сервисов #3. Реестр ServiceRegistry содержит и контролирует сервисы, которым необходим доступ к SessionFactory
  • Создаем SessionFactory, используя созданные ранее конфигурацию и реестр сервисов #4.
  • Фабрика SessionFactory, созданная с помощью метода createSessionFactory, который мы определили ранее, передается в качестве аргумента на try with resources, когда SessionFactory реализует интерфейс AutoCloseable #5. Аналогичным образом мы начинаем новую сессию с базой данных, создав Сессию #6, которая также реализуетинтерфейс AutoCloseable . Это наш контекст для всех персистентных операций.
  • Получаем доступ к API для стандартных транзакций и начинаем транзакцию на этом потоке выполнения #7.
  • Создаем новый экземпляр класса Item и устанавливаем его свойство info #8.
  • Экземпляр класса во временном состоянии становится персистентным на стороне контекста персистентности #9.
  • Синхронизируем сессию с базой данных и закрываем текущую сессию при автоматическом подтверждении транзакции #10.
  • Как и в случае JPA, у нас нет кода SQL и не используется JDBC. В коде Java нет операций CRUD (create, read, update, delete), но можно работать объектно-ориентированным способом с классами, объектами и методами. Перевод на каждый диалект SQL осуществляется посредством объектно-реляционного отображения (ORM), которое также используется для переносимости.

Последние статьи в блоге

Удостоверение, диплом и сертификат: в чем разница и что выбрать

В условиях стремительного развития технологий и постоянных изменений в бизнесе профессиональное развитие стало необходимостью. Особенно это актуально для специалистов в сфере IT и смежных отраслях. После прохождения курсов в учебных центрах слушатели могут получить один из трех типов документов: удостоверение о повышении квалификации, диплом о профессиональной переподготовке или сертификат. Несмотря на внешнюю схожесть, эти документы различаются по юридической силе, назначению и значимости для карьеры. Разберемся в этом подробнее.

12 мая 2025

Выгодный май — на курсы залетай!

Друзья, спешим поделиться отличной новостью — вы можете получить скидки до 40% на наши популярные курсы. Это отличная возможность улучшить навыки и инвестировать в профессиональное развитие по более выгодной цене. Выбирайте направление и подавайте заявку прямо сейчас!

05 мая 2025

Кейс: кастомизация курса по Jira

Кейс по проведению кастомизированного курса «Основы Jira» для крупной российской компании, занимающейся производством цифровой техники.

05 мая 2025

Зачем специалистам по 1С изучать системный анализ и архитектуру ПО

Как системный анализ и архитектура ПО помогают эффективнее работать в 1С.

29 апреля 2025

Банка Nutella, IT, ESG — что общего?

Когда вы читали этикетку на продукте не из-за состава, а из-за ESG-маркировки?

25 апреля 2025

Каковы плюсы и минусы монолитной и микросервисной архитектуры при разработке ИТ-продуктов?

Монолитная и микросервисная архитектуры представляют собой два различных подхода к разработке ИТ-продуктов, каждый из которых имеет свои преимущества и недостатки.

25 апреля 2025

Станьте архитектором ПО с выгодой! Только в апреле сэкономьте 20 000 ₽ и получите новый модуль по микросервисам в подарок

24 апреля стартует обучение на комплексной программе «Архитектор ПО. Путь к мастерству в проектировании систем»*.

14 апреля 2025

Архитектурные ошибки в корпоративных системах, которые могут создать проблемы в долгосрочной перспективе

В основе любой информационной системы — сложная структура. Спроектировать ее не легче, чем построить дом. Какие ошибки можно допустить при планировании ИТ-архитектуры, и в чем их основные причины? К чему они могут привести в долгосрочной перспективе и как этого избежать? Рассказывает Михаил Рощин, заместитель директора отделения управления проектами и архитектуры IBS.

Новости
10 апреля 2025

Кейс: Интенсив по управлению проектами для промышленной компании

Мы адаптировали курс по управлению проектами под запрос команды крупной промышленной компании и провели обучение. Вот что из этого вышло.

27 марта 2025

Кейс: Обучение сотрудников крупной компании работе с ClickHouse

Рассказываем, как мы организовали обучение команды работе с этой новой для заказчика технологией и каких результатов достигли.

19 марта 2025

Платформа сертификации IBS получила аккредитацию АПКИТ

Ассоциация предприятий компьютерных и информационных технологий (АПКИТ) приняла новый регламент сертификации ИТ-специалистов.

Новости
10 марта 2025

Специальные акции на учебные программы

У нас отличная новость для всех, кто стремится развивать свои навыки в мире ИТ.

06 марта 2025

Как остановить спам-атаку

Современный цифровой мир не обходится без рисков, и спам-атаки стали одной из наиболее распространенных угроз. Независимо от того, поступают ли они на ваш телефон, электронную почту или мессенджеры, массовые потоки таких сообщений могут быть крайне раздражающими и даже опасными. Спамеры используют эти атаки не только для рекламы, но и для мошенничества, фишинга или распространения вредоносных ссылок.

06 марта 2025

Учебный центр IBS подписал партнерское соглашение с ООО «РусБИТех-Астра», разработчиком российской операционной системы Astra Linux.

Теперь мы можем проводить авторизованное обучение по работе с Astra Linux для специалистов в области информационной безопасности.

17 февраля 2025

Двойная выгода: покупай один курс — получай второй за 50% стоимости!

Воспользуйтесь возможностью изучить более глубокие аспекты одной области — например, при покупке курса по Java, архитектуре ПО, управлению проектами, системному и бизнес-анализу, тестированию ПО и Big Data вы можете получить второй курс этой же тематики за полцены! Не упустите шанс развить свои навыки и поднять свою карьеру на новый уровень. 

29 января 2025

Сертификация преподавателя Java-разработки для крупного провайдера ИТ-обучения

Подтверждение квалификации значимо не только для ИТ-специалистов, работающих в сфере коммерческой разработки, но и для преподавателей, обучающих будущих экспертов в этой области. Делимся историей одного из преподавателей крупного провайдера ИТ-курсов, который успешно прошел Java-сертификацию.

Новости
21 января 2025

Системный аналитик 100 lvl — дорожная карта развития

Все, что нужно знать для роста в профессии: какие блоки знаний проседают у системных аналитиков больше всего, на какие компетенции важно обратить внимание, чтобы двигать карьеру дальше, и как подтвердить соответствие своего уровня единому стандарту качества.

23 декабря 2024

Платформа сертификации IBS признана лучшим digital-решением для корпоративного обучения

Центр сертификации IBS стал обладателем Гран-при премии «Смарт пирамида» — одной из самых престижных российских премий за достижения в области обучения и развития человеческого капитала.

20 декабря 2024

Учебный центр IBS получил сертификат ГОСТ Р ИСО 9001-2015

В октябре 2024 года Учебный центр IBS получил сертификат соответствия ГОСТ Р ИСО 9001-2015. Это важное достижение подтверждает, что мы придерживаемся высоких стандартов качества и результативно управляем образовательными процессами организации.

19 декабря 2024

9 курсов со скидкой до 50%

Друзья, в январе стартует 9 курсов, обучение на которых можно купить со скидкой до 50%*! 

15 декабря 2024

Не нашли, что искали? — Просто напишите, и мы поможем

Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.