Вступ до сплячої архітектури

Перш ніж потрапляти в сплячу архітектуру, давайте розберемося, чому сплячка ввійшла в малюнок і яку мету вона вирішує для нас. Hibernate - це інструмент ORM (Object Relational Mapping) для мови програмування Java для розробки об'єктної логіки стійкості до бази даних, що не залежить від об'єктів. Hibernate забезпечує шар абстракції для отримання та зберігання даних у базі даних.

Чому сплять?

JDBC (підключення до бази даних Java) залежить від бази даних. Щоб бути більш конкретним, запити, які потрібно запустити з вашої програми за допомогою JDBC, залежить від бази даних, з якою ви працюєте. Якщо ви працюєте з MySQL або Oracle, ваші запити будуть іншими. Отже, якщо в середині проекту вам потрібно змінити свою базу даних, що також вимагатиме зміни коду, і ми, звичайно, цього не хочемо. В той час як сплячка використовує незалежну від бази даних гібернаційну мову запитів. Коротше кажучи, сплячий піклується про більшу частину того, що розробник мав робити з JDBC, наприклад, наприклад. Відкриття з'єднання з БД, закриття з'єднань, обробка різних винятків.

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

Зимова архітектура

Основна концепція будь-якої ОРМ полягає в заміні написання специфічних баз даних SQL на маніпулювання об'єктами.

Простіше кажучи,

  • ви створюєте POJO (Простий старий об’єкт Java)
  • присвоїти значення полям за допомогою сетерів
  • скажіть в сплячку зберігати ці об’єкти

Зимовий режим відображає класи Java в таблиці баз даних (що також включає відображення типів даних Java на типи даних SQL).

Таким чином, це забирає біль при перетворенні полів Java в типи даних, що підтримуються SQL. Зимовий режим робить це за вас.

Це також позбавляє розробника від болю щодо обробки результатів.

Java-додаток

Розвиваючи логіку стійкості, нам потрібно брати підтримку деяких ресурсів у додатку java. Давайте розглянемо ці ресурси.

Серце будь-якого додатка в режимі глибокого сну полягає в його конфігурації, яка робиться за допомогою,

  • Файл конфігурації
  • Картографський файл

Файл конфігурації в сплячому режимі

Ми визначаємо властивості, які вказують на сплячку, з якою базою даних він має взаємодіяти та з яким драйвером JDBC використовувати. Hibernate використовує файл конфігурації для отримання всієї цієї інформації.

Хоча Hibernate здатний генерувати запити до бази даних, ми можемо вказати діалект, щоб допомогти йому генерувати кращий SQL для потрібної бази даних.

Наприклад, наведені нижче властивості, які ви зазвичай встановлюєте у додатку для весняного завантаження

Файл зі сплячки в сплячому режимі

У ньому містяться всі визначення картографічних таблиць. Кожен інструмент ORM потребує картографічного файлу. Ми використовуємо наступні способи сказати сплячому режиму, яке значення об’єкта має зберігатися в якому стовпці таблиці.

  • XML
  • Анотації

Синтаксис файлу відображення xml навесні,

Далі ми пояснюємо, як ми коментуємо змінну екземпляра, яку слід відобразити до стовпця рядка в базі даних.

Клас домену

Як ми знаємо, Hibernate відомий тим, що розробляє об'єктивну логіку стійкості. Отже, доменний клас - POJO, який відображається в таблиці в базі даних.

Конфігурація

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

  • Завантажте ці файли.
  • Перевіряє, чи ці файли добре сформовані та чи дійсні.
  • Створює метадані цих двох файлів у пам'яті.
  • Повернути об’єкт, який містить ці метадані.

Сесія заводу

Фабрика сеансів використовується для створення об’єктів сеансу. Він створюється об’єктом конфігурації. Він забезпечує шар абстракції, тому нам не потрібно турбуватися про те, як створено об’єкт сеансу. Це безпечний для ниток глобальний заводський клас для створення сеансів. Використовуючи об’єкт конфігурації, ми отримуємо доступ до даних пам'яті, створених з файлу конфігурації та відображення.

Звідти він отримує властивості JDBC - ім'я драйвера, URL-адресу джерела даних, ім'я користувача, пароль і т. Д. Використовуючи ці властивості, він створюватиме об'єкти з'єднання, що представляють зв'язок із базою даних.

За допомогою цих з'єднань створюється пул з'єднань. Вся інформація з об’єкта конфігурації та пулу з'єднань використовується для створення та повернення об’єкта сеансу. Отже, фабричний об'єкт сеансу є важким об'єктом. Кожна фабрика сеансів налаштована для роботи з певною базою даних, використовуючи один із зазначених діалогів сплячого режиму.

Сесія

Варто зазначити, що це не пов’язано з сеансом сервлетів або сеансом Java-пошти. Сеанс - це шлюз до нашої бази даних. Це створює міст з нашого додатку до бази даних. Його створює фабрика сеансів. Він бере об’єкт з'єднання і відкриває з'єднання / сеанс до бази даних і дозволяє програмі виконувати операції зі збереженням на базі даних.

В інструменті ORM ви виконуєте всі операції, такі як INSERT, DELETE та UPDATE, використовуючи об'єктно-орієнтовану семантику, а це означає, що ви більше не посилаєтесь на таблиці, рядки та стовпці. Це сеанс роботи, щоб зробити всі наполегливі операції для вас.

Угода

Транзакція - це недовговічний об'єкт, який представляє собою єдину одиницю роботи, як збереження або видалення об'єкта в таблиці в базі даних. Він абстрагує програму від основної транзакції, здійсненої за допомогою JDBC, JTA (Java Transaction API) тощо.

Внутрішньо перебуває в сплячому режимі, використовуючи JDBC, JTA, JNDI (інтерфейс імен Java і каталог) для генерації запитів SQL для налаштованої бази даних.

Висновок

У цій статті ми розглянули, як шарувата архітектура сплячого режиму допомагає програмісту працювати з базою даних, не знаючи деталей базового API, таких як JDBC, JTA та JNDI. Ми дізналися, як сплячий режим полегшує наше життя, обробляючи більшість кодів котла, як-от відкриття / закриття з'єднання з базою даних. Сподіваємось, це дає вам чітке розуміння архітектури сплячої сплячки, з якою ви розпочнете використання програми Hibernate Framework у своїх програмах.

Рекомендовані статті

Це путівник зі сплячої архітектури. Тут ми обговорюємо шарувату архітектуру сплячого режиму разом із додатком Java. Ви також можете переглянути наступну статтю, щоб дізнатися більше -

  1. Що таке сплячка?
  2. Сонник
  3. Питання співбесіди в сплячому режимі
  4. Що таке сплячка Java?