JDBC проти Hibernate
Зв'язок із базою даних Java (також відомий як JDBC) - це API, створений спеціально для мови програмування Java. Він визначає, як клієнт може отримати доступ до бази даних, надаючи методи запиту та оновлення даних у базі даних. Більш конкретно він орієнтований на реляційні бази даних. Вперше він був представлений на ринку як частина платформи Java 2, Standard Edition, версія 1.1 (або J2SE). Він був укомплектований разом із еталонною реалізацією JDBC до моста ODBC, що дозволяє з'єднання з API до будь-якого джерела даних, доступного ODBC, у середовищі хоста JVM.
Hibernate - це об'єктно-орієнтована бібліотека відображення (або бібліотека ORM), спеціально побудована для мови Java. Він забезпечує основу для відображення об'єктно-орієнтованої моделі домену на традиційну реляційну базу даних. Він також вирішує проблеми невідповідності об'єктного реляційного імпедансу - це проблеми, в яких система управління реляційною базою даних (або RDBMS) використовується програмою, написаною об'єктно-орієнтованою мовою програмування або стилем. Це досягається шляхом заміни прямого доступу, пов'язаного з постійною базою даних, на функції управління високим рівнем. Це безкоштовне програмне забезпечення з відкритим кодом та розповсюджується під ліцензією GNU General General Public License.
JDBC працює, дозволяючи існувати та використовувати один і той же додаток різноманітних реалізацій. Він надає механізм, за допомогою якого правильні пакети Java динамічно завантажуються та реєструються у менеджері драйверів JDBC - який використовується як фабрика з'єднань, сортування, що створює з'єднання JDBC. Ці з'єднання підтримують створення та виконання операторів. Вони можуть бути операторами оновлення (наприклад, SQL SREATE, INSERT, UPDATE та DELETE). Вони також можуть бути запитами запитів, такими як SELECT. З'єднання JDBC може також викликати збережені процедури - тобто ті процедури, які зберігаються у словнику даних БД.
Перебуває в режимі глибокого сну, головним чином, для відображення від класів Java до таблиць бази даних, а також від типів даних Java до типів даних SQL Він також надає засоби запиту та пошуку даних. Він здатний генерувати виклики SQL, тим самим позбавляючи розробника від ручної обробки набору результатів та перетворення об’єктів. Це зберігає додаток переносним до всіх баз даних SQL, які підтримуються через бібліотеку. Він відображає класи Java в таблиці баз даних, конфігуруючи XML-файл (в якому Hibernate здатний генерувати скелетний вихідний код для класів стійкості) або використовуючи анотацію Java (що робить попередній спір дій). Hibernate також підтримує відображення спеціальних типів значень, що робить можливими три конкретні сценарії: переопределення типового типу SQL, вибраного Hibernate при зіставленні стовпця до властивості; відображення Java Enum у стовпці так, ніби вони були регулярними властивостями; і відображення однієї властивості в декілька стовпців.
Підсумок:
1. JDBC - це API, який визначає, як клієнт може отримати доступ до бази даних; Hibernate - це бібліотека ORM, яка забезпечує основу для відображення об'єктно-орієнтованої моделі домену до традиційної реляційної бази даних.
2. JDBC дозволяє існувати різні реалізації та використовуватися одним і тим же додатком; Зимові карти від класів Java до таблиць баз даних.