ما هو JPA؟
JPA (Java Persistence API) هي إحدى مواصفات Java التي تُستخدم للوصول إلى البيانات وإدارتها واستمرارها بين كائن Java وقاعدة البيانات العلائقية. ويعتبر بمثابة نهج قياسي لرسم الخرائط العلائقية للكائنات.
eol في بيثون
يمكن اعتبار JPA بمثابة جسر بين نماذج المجال الموجهة للكائنات وأنظمة قواعد البيانات العلائقية. نظرًا لكونها مواصفات، فإن JPA لا تقوم بأي عملية بمفردها. وبالتالي فهو يتطلب التنفيذ. لذلك، تقوم أدوات ORM مثل Hibernate وTopLink وiBatis بتنفيذ مواصفات JPA لاستمرارية البيانات.
ما هو السبات؟
السبات هو إطار عمل Java يُستخدم لتخزين كائنات Java في نظام قاعدة البيانات العلائقية. إنها أداة ORM (رسم الخرائط العلائقية للكائنات) مفتوحة المصدر وخفيفة الوزن.
السبات هو تطبيق لـ JPA. لذلك، فهو يتبع المعايير المشتركة التي تقدمها JPA.
الحاجة إلى JPA
كما رأينا حتى الآن، JPA هي مواصفات. يوفر نموذجًا أوليًا ووظيفة مشتركة لأدوات ORM. من خلال تطبيق نفس المواصفات، تتبع جميع أدوات ORM (مثل Hibernate وTopLink وiBatis) المعايير المشتركة. في المستقبل، إذا أردنا تحويل تطبيقنا من أداة ORM إلى أخرى، فيمكننا القيام بذلك بسهولة.
JPA مقابل السبات
JPA | بيات شتوى |
---|---|
تحدد Java Persistence API (JPA) إدارة البيانات العلائقية في تطبيقات Java. | السبات عبارة عن أداة لرسم الخرائط الارتباطية للكائنات (ORM) تُستخدم لحفظ حالة كائن Java في قاعدة البيانات. |
إنها مجرد مواصفات. تقوم أدوات ORM المختلفة بتنفيذها من أجل استمرارية البيانات. | إنه أحد تطبيقات JPA الأكثر استخدامًا. |
يتم تعريفه في javax.persistence طَرد. | يتم تعريفه في org.hibernate طَرد. |
ال EntityManagerFactory يتم استخدام الواجهة للتفاعل مع مصنع مدير الكيان لوحدة الثبات. وبالتالي، فإنه يوفر مدير الكيان. | يستخدم SessionFactory واجهة لإنشاء مثيلات الجلسة. |
يستخدم EntityManager واجهة لإنشاء العمليات وقراءتها وحذفها لمثيلات فئات الكيانات المعينة. تتفاعل هذه الواجهة مع سياق الثبات. | يستخدم حصة واجهة لإنشاء العمليات وقراءتها وحذفها لمثيلات فئات الكيانات المعينة. إنه يتصرف كواجهة وقت تشغيل بين تطبيق Java وHibernate. |
يستخدم لغة استعلام الثبات في جافا (JPQL) كلغة استعلام كائنية التوجه لتنفيذ عمليات قاعدة البيانات. | يستخدم السبات لغة الاستعلام (HQL) كلغة استعلام موجهة للكائنات لتنفيذ عمليات قاعدة البيانات. |