JDBC против Hibernate
Java Database Connectivity (также известный как JDBC) - это API, специально созданный для языка программирования Java. Он определяет, как клиент может получить доступ к базе данных, предоставляя методы для запроса и обновления данных в базе данных. Он ориентирован более конкретно на реляционные базы данных. Впервые он был представлен на рынке как часть платформы Java 2 Standard Edition версии 1.1 (или J2SE). Он был объединен с эталонной реализацией JDBC к мосту ODBC, позволяющей подключаться с помощью API к любому доступному источнику данных ODBC в хост-среде JVM.
Hibernate - это объектно-ориентированная библиотека отображения (или библиотека ORM), специально созданная для языка Java. Он обеспечивает основу для сопоставления объектно-ориентированной модели предметной области с традиционной реляционной базой данных. Он также решает проблемы несоответствия реляционного импеданса объектов, то есть проблемы, в которых система управления реляционными базами данных (или RDBMS) используется программой, написанной на объектно-ориентированном языке или стиле программирования. Это достигается путем замены прямого доступа к базе данных, связанной с постоянством, функциями высокоуровневой обработки. Это бесплатное программное обеспечение с открытым исходным кодом и распространяется под лицензией GNU Lesser General Public License..
JDBC работает, позволяя множеству реализаций существовать и использоваться одним и тем же приложением. Он обеспечивает механизм, с помощью которого правильные пакеты Java динамически загружаются и регистрируются в диспетчере драйверов JDBC, который используется в качестве фабрики соединений, которая создает соединения JDBC. Эти соединения поддерживают создание и выполнение операторов. Это могут быть операторы обновления (например, SQL CREATE, INSERT, UPDATE и DELETE). Они также могут быть операторами запроса, такими как SELECT. Соединение JDBC также может вызывать хранимые процедуры, то есть те процедуры, которые хранятся в словаре данных базы данных..
Hibernate в основном функционирует для отображения из классов Java в таблицы базы данных, а также из типов данных Java в типы данных SQL. Это также обеспечивает запрос данных и средства поиска. Он способен генерировать вызовы SQL, освобождая разработчика от ручной обработки набора результатов и преобразования объектов. Это сохраняет приложение переносимым для всех баз данных SQL, которые поддерживаются через библиотеку. Он сопоставляет классы Java с таблицами базы данных, настраивая файл XML (в котором Hibernate может генерировать исходный код скелета для классов постоянства) или используя аннотацию Java (что делает предыдущее действие спорным). Hibernate также поддерживает сопоставление пользовательских типов значений, что делает возможными три конкретных сценария: переопределение типа SQL по умолчанию, выбранного Hibernate при сопоставлении столбца со свойством; отображение Java Enum на столбцы, как если бы они были обычными свойствами; и сопоставление одного свойства нескольким столбцам.
Резюме:
1. JDBC - это API, который определяет, как клиент может получить доступ к базе данных; Hibernate - это библиотека ORM, которая обеспечивает основу для сопоставления объектно-ориентированной модели предметной области с традиционной реляционной базой данных..
2. JDBC позволяет различным реализациям существовать и использоваться одним и тем же приложением; Hibernate отображает из классов Java в таблицы базы данных.