Яка різниця між JPA та JDBC?


Відповідь 1:

JDBC - це стандартний інструмент для прямого підключення до Бази даних та запуску SQL проти неї, наприклад, виберіть * з TableName і т.д. , вставляти процедури тощо. Це одна з основних технологій, що лежить в основі більшості Java DBA (включаючи провайдерів JPA).

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

JPA - це офіційний інструмент об'єктивного реляційного картографування. JPA - це технологія, яка дозволяє користувачеві відображати між об'єктами в кодах і таблицях баз даних. JPA може "приховати" SQL від розробника, щоб усі вони мали справу з класами Java, а провайдер дозволяє зберігати їх і завантажувати їх віддалено. Здебільшого, XML-файли відображення чи примітки на сеттерах та геттерах можуть використовуватися для того, щоб повідомити провайдера JPA. які поля на карті об’єкта користувача, які поля в БД. сплячий режим - найпопулярніший постачальник JPA.

деякі інші приклади, включаючи OpenJPA, toplink тощо.

Снучі та інші популярні провайдери для JPA пишуть SQL та використовують JDBC для читання та запису з та в БД.

Дякую.

якщо тобі подобається моя відповідь, тоді підтверди її.


Відповідь 2:

Було б незначно складно зрозуміти різницю між ними обома, якщо ти новачок. Я думаю, що слід почати з розуміння першої різниці між JDBC та сплячим режимом. Я сподіваюся, що ви знаєте, що таке JDBC, як і раніше опис: JDBC означає "Підключення до бази даних Java". JDBC - це Java API для з'єднання та виконання запиту з db. Він забезпечує драйвери для підключення до db. Ви можете використовувати API JDBC для доступу до табличних даних, що зберігаються в будь-якій реляційній базі даних. За допомогою API JDBC ми можемо зберігати, оновлювати, видаляти та отримувати дані з бази даних.

Тепер що впадає в сплячку? Це рамка на відміну від JDBC, у тому, щоб імпортувати бібліотеки сплячого режиму, перш ніж використовувати його, тоді як JDBC є частиною самої J2SE. Hibernate робить те саме, що розроблено JDBC, але ви можете сказати, що Hibernate - це попередній рівень JDBC. Hibernate спрощує розробку програми Java для взаємодії з базою даних. Це інструмент ORM, це означає, що вона відображає об'єкти Java з таблицями db. Клас java може представляти таблицю в db. Наприклад, якщо ви відобразили таблицю "emp_26" як клас Співробітник у сплячому режимі, ви б написали простий об'єктно-орієнтований запит, щоб отримати всіх співробітників із таблиці empl_26: "від Співробітник" // у сплячому режимі "вибрати * від emp_26" // в JDBC.

У програмі Hibernate є пекельна кількість функцій, таких як кеш, асоціація-картографування, відображення спадщини, HQL, розширення сторінок і багато інших, які недоступні в JDBC.

Що стосується JPA, це специфікація, це набір класів та інтерфейсів. JPA потребує інструменту для його впровадження, і цей інструмент може бути в режимі сплячки. Реалізуючи JPA, ви можете зробити те саме, що робить Hibernate, але у форматі JPA. Якщо JPA - це танець, тоді для його танцювальної сцени потрібен сонник або інший інструмент. До речі, це не означає, що сплячий не може танцювати без JPA, в сплячку теж є свій танець.


Відповідь 3:

JDBC - стандарт для прямого підключення до БД та запуску SQL проти нього - наприклад, SELECT * FROM USERS тощо. Можна повернути набори даних, які можна обробляти у вашому додатку. запускати збережені процедури тощо. Це одна з основних технологій, що лежать в основі більшості доступу до бази даних Java (включаючи провайдерів JPA).

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

JPA - стандарт для об'єктивного реляційного картографування. Це технологія, яка дозволяє відображати між об'єктами в кодах і таблицях баз даних. Це може "приховати" SQL від розробника, так що всі вони мають справу з класами Java, а провайдер дозволяє зберегти їх і магічно завантажити. Здебільшого, XML-файли відображення чи анотації на геттерах і сеттерах можна використовувати, щоб повідомити постачальнику JPA, які поля на вашій карті об’єкта, які поля в БД. Найвідоміший постачальник JPA - Hibernate, тому це хороше місце для початку конкретних прикладів.

Інші приклади включають OpenJPA, toplink тощо.