Що таке сплячка?

Офіційно відомий як Hibernate ORM, це об'єктно-реляційний інструмент відображення або рамки для мови програмування Java. Це вільне програмне забезпечення за ліцензією GNU Lesser General Public 2.1. Він спрямований на надання користувачеві рамки для обробки об'єктно-реляційного відображення імпедансу. Він також управляє стійкими доступами до бази даних з функціями обробки об'єктів дуже високого рівня. Це проміжне програмне забезпечення Java, яке використовується для об'єктно-реляційного відображення та ефективного збереження об'єкта.

Архітектура

Щоб дізнатися більше про сплячку нам потрібно зрозуміти її архітектуру, яка складається з:

  • Код програми Java складається з усіх класів, змінних та об'єктів, що визначають бізнес-логіку програми. Ці класи спілкуються зі сплячим.
  • Потім настає сплячий режим та його основні принципи, за допомогою яких ми могли б зберігати (зберігати чи зберігати та витягувати) об’єкти класів нашого бізнес-рівня, спілкуючись із шаром сервера бази даних.
  • Він використовує базовий API Java, підключення до бази даних Java (JDBC), API API транзакцій Java (JTA), іменування Java та інтерфейс каталогів (JNDI) для спілкування з базою даних для збереження стану об'єкта, виконуючи читання, створення, оновлення, видалити (CRUD) операції.

В основному використовується для спілкування з базою даних. Тут ми просто створюємо деякі сутності, які є не що інше, як клас java, який створить таблицю бази даних для нас у базі даних.

Рамка

Тут ми стикаємося з питанням, чому ми використовуємо сплячу основу Java, якщо у нас вже є основні принципи java. Тож ось відповідь на це:

  • Використовуються найкращі концепції JDBC, такі як:
  1. Rowset замість ResultSet
  2. DataSource (об'єднання з'єднань) замість DriverManager
  3. Пакетні операції замість окремих операцій
  4. Підготовлена ​​держава замість заяви
  • Вартість розробки проекту зводиться до великого фактору.
  • Ніяких витоків пам'яті
  • Керування асоціаціями, такими як "багато хто", тощо, є простим і легким порівняно з роботою з властивостями колекції, такими як java.util.Set, List, Map.
  • Будучи системою ORM, Зимовий режим отримає всі свої переваги:
  • Підтримується кеш другого рівня
  • Об'єкт стає записом і навпаки.
  • Додатково підтримує мову запиту об’єктів (HQL)
  • Підтримує кілька генераторів первинних ключів

Особливості сплячки

Тож все було про каркас сплячого Java та його архітектуру, давайте поговоримо про особливості останньої стабільної сплячки, випущеної 57 днів тому, тобто 23 лютого 2019. Розроблена програмою Red Hat, це віртуальна машинна платформа з безліччю функцій:

  • Він підтримує JMX та JCA.
  • Він забезпечує особливість інтеграції в J2EE.
  • У час ініціалізації системи він генерує SQL.
  • Необов’язково забезпечити внутрішнє об'єднання з'єднань та підготовлене кешування операторів.
  • Він підтримує оптимістичне блокування з версією.
  • Він забезпечує зовнішнє отримання з'єднання.
  • Він вводить ініціалізацію Lazy.
  • Він забезпечує кеш рівня сеансу та необов'язковий кеш другого рівня.
  • Він забезпечує двошарову архітектуру кешу.
  • Автоматична генерація первинного ключа.
  • Він підтримує жорстку концепцію складених ключів.
  • Він підтримує концепцію окремого об'єкта.
  • Він представляє концепцію автоматичної брудної перевірки.
  • Він забезпечує прозорість без обробки байтового коду.
  • Він надає об'єктно-реляційні відображення. Ось різні стратегії відображення O / R для відображення кількох об'єктів для однорядного відображення,
  • Поліморфні асоціації, двонаправлена ​​асоціація, фільтрація асоціацій. Він також надає документи для відображення XML.
  • Він надає різні об'єктно-орієнтовані мови запитів.
  • Мінімальна об'єктно-орієнтована мова запиту в сплячому режимі (HQL), власна запит SQL
  • Висока об'єктно-орієнтована концепція критеріїв.

Чому ми використовуємо сплячку

Тут були всі останні особливості сплячки. Далі йде питання про те, чому ми його використовуємо, тож ось причини, чому ми віддаємо перевагу сплячому режиму:

  • Управління транзакціями
  • Асоціації
  • Спадщина
  • Перезахист кешування
  • Версія
  • Функціональність аудиту
  • Підтримка анотацій JPA
  • Пул з'єднання
  • Уникаючи блоків, які намагаються спіймати
  • Уникайте ледачих навантажень
  • Зменшує код повторення

Переваги

Коротко описуючи все про сплячку, зараз настав час обговорити основний порядок денний, який полягає у перевагах та недоліках використання сплячки. Поширюючи тему, почнемо з переліку сплячого режиму:

  1. ORM - обслуговування легке та економічне.
  2. Прозора наполегливість
  3. База даних незалежна
  4. HQL - розширені функції HQL, такі як пагінація та динамічне профілювання, відсутні в SQL. Тож ми можемо використовувати його в сплячому режимі.
  5. Двошарове кешування
  6. Властивість версії
  7. Open Source та вільне програмне забезпечення
  8. Масштабованість проста
  9. Lazy-Loading - концепція ледачого завантаження отримує лише необхідний об'єкт, необхідний для виконання програми.
  10. Легко вчитися
  11. Також підтримує колекції, такі як Список, Набір, Карта.
  12. можливість генерації первинних ключів
  13. Зимовий режим забезпечував уроки Діалект
  14. Він підтримує відносини, як один-багато-хто, один-один, багато-багато-багато-багато, багато-хто-один

Недоліки

Маючи переваги, сплячка також має дуже менше недоліків. Ось ось недоліки сплячки:

  1. трохи повільніше, ніж чистий JDBC
  2. випуск кодового коду
  3. генерувати багато операторів SQL за час виконання
  4. Зимова сплячка не підходить для пакетної обробки
  5. Перебуває в сплячому режимі повільно, оскільки використовує час відображення
  6. Багато API, щоб дізнатися
  7. Іноді налагодження та налаштування продуктивності стає важким.
  8. Не підходить для малих проектів
  9. Не дозволяє декілька вставок
  10. Створює складні запити з багатьма приєднаннями
  11. HQL-запити не можуть викликати програму PL / SQL

Висновок

Тому з усіма цими темами ми також повинні знати про майбутнє сплячого. Можна сказати, що сплячка все ще буде домінуючим інструментом ORM набагато довше, враховуючи те, що JPA швидко наздоганяє. Моє враження, що Hibernate є найбільш широко використовуваною реалізацією JPA (до OpenJPA та EclipseLink), а також, що її рідний або основний API все ще потужніший, ніж JPA 2. Только з цих причин я думаю, що це буде досить довго час. Дуже бажано використовувати Spring MVC в сплячому режимі, оскільки це найбільш сумісний MVC. Використання системи стійкості, як Hibernate, дозволяє розробникам зосередитись на написанні коду бізнес-логіки замість того, щоб писати точний та хороший рівень наполегливості, який включає написання SQL запитів, JDBC-коду, управління з’єднаннями тощо. Тому я можу запропонувати використовувати сплячку як рамку Java як це найвизначніший Java-каркас, який застосовується сьогодні.

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

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

  1. Питання співбесіди в сплячому режимі
  2. Що таке NumPy?
  3. Що таке Відкритий кошик?
  4. Струки 2 Питання для співбесіди
  5. Конвенції про іменування Java