أكثر 20 أسئلة وأجوبة مقابلة في فترة السبات شيوعًا [للمستجدين وذوي الخبرة]
نشرت: 2020-12-31لفترة طويلة ، احتلت Java أحد أعلى المناصب في قائمة لغات البرمجة الأكثر شيوعًا. بطبيعة الحال ، كونها لغة برمجة ذات أولوية عالية يفضلها المطورون في جميع أنحاء العالم ، فإن Java مصحوبة بمجموعة ضخمة من الأدوات والمكتبات والأطر. في هذا المنشور ، سنتحدث عن إطار عمل Java شائع ، Hibernate.
أي شخص يعمل مع Java أو يعمل معها يكون على دراية جيدة بـ Hibernate وصلاحياته. ومع ذلك ، دعونا نقسمها لأولئك منكم الذين مروا للتو بهذا الاسم - السبات.
جدول المحتويات
ما هو السبات؟
Hibernate هي أداة ORM (رسم الخرائط العلائقية للكائنات) مصممة حصريًا لجافا. بمعنى آخر ، إنه يوفر إطارًا للمساعدة في تعيين نموذج موجه للكائنات إلى قاعدة بيانات علائقية. يركز Hibernate بشكل أساسي على التعيين من فئات Java إلى جداول قاعدة البيانات والتعيين من أنواع بيانات Java إلى أنواع بيانات SQL .
يعمل وضع الإسبات أيضًا على توسيع خدمات استعلام واسترجاع البيانات. إنه مكتوب بلغة Java وهو قائم على JVM. يقدم Hibernate تطبيقات مرجعية لـ Java Persistence API مما يجعله خيارًا رائعًا لـ ORM (رسم الخرائط العلائقية للكائنات). يمكننا استخدام Hibernate persistent API لعمليات CRUD
في الأصل ، تم تصميم Hibernate ليكون بمثابة بديل أبسط وأفضل لـ EJB2 (Enterprise Java Beans الإصدار 2). اليوم ، تفتخر Hibernate بأنها واحدة من أكثر أدوات ORM استخدامًا لتطبيقات Java.
يتم استخدامه على نطاق واسع لتطوير تطبيقات المؤسسات القائمة على Java لعمليات قاعدة البيانات. أيضًا ، يعد Hibernate Persistence API ممتازًا لعمليات CRUD.

الآن بعد أن أصبح لديك بعض المعرفة الأساسية عن Hibernate ، دعنا نتعرف على أداة ORM هذه بشكل أفضل قليلاً مع أسئلة مقابلة X Hibernate هذه!
سجل في دورات تطوير البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
إسبات أسئلة وأجوبة المقابلة
1.ما هو ORM؟
يشير ORM (Object Relational Mapping) إلى تقنية تعيين الكائنات بالبيانات المخزنة في قاعدة بيانات. الهدف من ORM هو تبسيط إنشاء البيانات والوصول إليها ومعالجة البيانات.
2. ما هو JPA؟
Java Persistance API (JPA) هي مواصفات تخصص المعايير والوظائف لأدوات ORM. يمكنك الوصول إلى فئات JPA والواجهات من حزمة javax.persistance . يتم تحديد جميع مواصفات JPA باستخدام التعليقات التوضيحية في حزمة javax.persistance. ميزة استخدام تعليقات JPA التوضيحية هي أنها تسمح لك بكتابة تعليمات برمجية مستقلة للتنفيذ.
3. ما هي تعليقات JPA التوضيحية المهمة المستخدمة في رسم الخرائط في وضع السبات؟
يدعم Hibernate تعليقات JPA التوضيحية جنبًا إلى جنب مع العديد من التعليقات التوضيحية الأخرى التي يمكنك الوصول إليها عبر حزمة org.hibernate.annotations. فيما يلي سبعة من أهم تعليقات JPA التوضيحية:
javax.persistance.Entity - يتم استخدامه مع فئات النموذج للإعلان عن أنها وحدات فول كيان.
javax.persistance.Table - يُستخدم مع وحدات وحدات الكيان لتحديد اسم الجدول المقابل في قاعدة البيانات.
javax.persistance.Access - يتم استخدامه لتحديد نوع الوصول أو الحقل أو الخاصية. القيمة الافتراضية لهذا التعليق التوضيحي هي الحقل.
javax.persistance.Id - يحدد المفتاح الأساسي في وحدة برامج الكيان.
javax.persistance.EmbeddedId - يتم استخدامه لتحديد مفتاح أساسي مركب في وحدة برامج الكيان.
javax.persistance.Column - يحدد اسم العمود في جدول قاعدة البيانات.
javax.persistance.GeneratedValue - تحدد الإستراتيجية اللازمة لإنشاء المفتاح الأساسي.
4-تحديد HQL
HQL هي اختصار لعبارة Hibernate Query Language. إنها لغة استعلام كائنية المنحى ، مستقلة عن قاعدة البيانات.
5. كيف ستجري رسم الخرائط في السبات؟
تسهل ميزة تعيينات الارتباط في Hibernate عملية التعيين من خلال دعم الارتباطات القياسية الأربعة ، مثل نموذج قاعدة البيانات العلائقية:
- جمعيات فردية
- جمعيات رأس بأطراف
- جمعيات كثير لواحد
- جمعيات كثير إلى كثير
يمكن تعيين كل من هذه الارتباطات على أنها إما رابطة أحادية الاتجاه أو ثنائية الاتجاه.
6. قم بتسمية الواجهات / المكونات الرئيسية للإسبات.
يحتوي Hibernate على ست واجهات أساسية - التكوين و SessionFactory و Session و Query و Criteria و Transaction.

7- هل يمكنك إنشاء استعلام SQL في وضع السبات؟
نعم ، يمكنك إنشاء استعلامات SQL في Hibernate. لإنشاء استعلام SQL ، يجب عليك استخدام بناء الجملة التالي:
Session.createSQLQuery
8. ما هو ملف التكوين Hibernate؟
يخزن ملف تكوين الإسبات التكوينات الخاصة بقاعدة البيانات. يتم استخدامه لتهيئة واجهة SessionFactory. يحتوي هذا الملف أيضًا على معلومات أخرى ذات صلة مثل معلومات اللهجة التي تسمح للإسبات بمعرفة نوع قاعدة البيانات وتفاصيل ملف / فئة التعيين.
9. ما هي فئة المثابرة؟
في Hibernate ، تسمى الفئات التي يتم تخزين كائناتها ومثيلاتها في فئات قاعدة البيانات بالفئات الثابتة.
10- تحديد الجلسة
تقع واجهة الجلسة بين Hibernate وطبقة تطبيق Java. تستخدم بشكل رئيسي لأداء عمليات قاعدة البيانات. تساعد الجلسة على إنشاء اتصال والحفاظ عليه بين تطبيق Hibernate وقاعدة البيانات. يوفر طرقًا مختلفة لإجراء عمليات الإنشاء والقراءة والتحديث والحذف للكائنات الثابتة.
أيضًا ، تعمل الجلسة كمصنع للاستعلام والمعايير والمعاملات ، مما يعني أنها توسع أساليب المصنع لإرجاع هذه المثيلات. يمكنك استخدام كائن Session لإنشاء معايير وتنفيذ استعلامات HQL واستعلامات SQL الأصلية.
11.تحديد الجلسةمصنع.
في Hibernate ، SessionFactory هي فئة المصنع المستخدمة للوصول إلى كائنات Session. يقرأ معلمات التكوين Hibernate ويتصل بقاعدة البيانات لجلب كائنات الجلسة. SessionFactory هو في الأساس مصنع للجلسة ويوفر مثيل الجلسة.
بمجرد إنشاء SessionFactory ، يتم إصلاح حالته الداخلية ، مما يجعلها غير قابلة للتغيير. تحتوي الحالة الداخلية لـ SessionFactory على البيانات الوصفية الكاملة لرسم الخرائط / الكائنات العلائقية.
12. قم بالتمييز بين ملف تكوين الإسبات وملف تعيين الإسبات.
يتضمن ملف تكوين الإسبات التكوينات الخاصة بقاعدة البيانات ومعلومات اللهجة. يتم استخدامه لتهيئة SessionFactory. يمكنك الوصول إلى بيانات اعتماد قاعدة البيانات أو معلومات مصدر JNDI من ملف XML لتوصيف Hibernate.
من ناحية أخرى ، يتم استخدام ملف تعيين الإسبات لتعريف تعيينات أعمدة جدول قاعدة البيانات وحقول فول الكيان. ملف التعيين هو جوهر كل تطبيق Hibernate. يحتوي على تعيين من اسم فئة POJO إلى اسم جدول وأسماء متغيرات فئة POJO لأسماء أعمدة الجدول.
13. ما هي POJOs؟
POJO هو اختصار لـ Plain Old Java Object. بشكل أساسي ، POJOs عبارة عن حبوب جافا مصممة باستخدام طرق تجميع وتجميع قياسية للخصائص الفردية. تتمثل ميزة استخدام POJOs بدلاً من فئات Java في أنه يمكنك كتابة تعليمات برمجية نظيفة ودقيقة وفعالة.
14. قم بتسمية المكونات الرئيسية لكائن تكوين الإسبات.
يحتوي كائن تكوين الإسبات على مكونين رئيسيين
- اتصال قاعدة البيانات الذي يديره ملف تكوين واحد أو أكثر.
- إعداد تعيين الفئة الذي يستخدم لإنشاء الاتصال بين فئات Java وجداول قاعدة البيانات.
15.ما هي لهجة السبات؟
تحدد لغة الإسبات نوع قاعدة البيانات التي ترغب في استخدامها. يسمح لـ Hibernate بمعرفة هذه المعلومات مقدمًا لإنشاء عبارات SQL مناسبة تناسب نوع قاعدة البيانات المفضل / المحدد لديك.
16. تعريف "Hibernate caching".
التخزين المؤقت للإسبات هو عملية الاستعلام عن البيانات لتحسين سرعة وأداء تطبيق Hibernate. الهدف هو تقليل عدد استعلامات قاعدة البيانات ، مما يؤدي إلى تقليل وقت الإنتاجية.
EHCache هي ميزة ذاكرة التخزين المؤقت الافتراضية في Hibernate.
17. ما هي ذاكرة التخزين المؤقت من المستويين الأول والثاني؟
في Hibernate ، تشير ذاكرة التخزين المؤقت من المستوى الأول إلى ذاكرة التخزين المؤقت للجلسة. إنها ذاكرة التخزين المؤقت الإلزامية التي يجب أن تمر جميع الطلبات من خلالها. ذاكرة التخزين المؤقت الثانية هي ذاكرة تخزين مؤقت اختيارية تقوم بتخزين الكائنات مؤقتًا عبر الجلسات.
يمكنك تكوين ذاكرة تخزين مؤقت من المستوى الثاني بناءً على أساس التجميع المسبق ولكل فصل دراسي. كقاعدة عامة ، يجب استشارة ذاكرة التخزين المؤقت من المستوى الأول قبل إجراء أي محاولة لتحديد موقع كائن في ذاكرة التخزين المؤقت من المستوى الثاني.
18- اشرح المراحل المختلفة لوحدة الكائن / وحدة برامج الكيان.
يوجد مثيل كائن / كيان عادةً في أي واحدة من المراحل الثلاث التالية:
- عابر - في هذه المرحلة ، لا يستمر الكائن أبدًا أو يرتبط بأي جلسة. يمكنك تحويل المثيلات العابرة إلى حالة ثابتة باستخدام وظائف save () أو persist () أو saveOrUpdate (). لإعادة مثيل دائم إلى حالة عابرة ، يمكنك استخدام الأمر delete ().
- ثابت - يصل الكائن إلى الحالة المستمرة عندما يقترن بجلسة عمل فريدة. جميع المثيلات التي تم إرجاعها بواسطة دالات get () أو load () في حالة دائمة.
- منفصل - عندما لا يرتبط كائن دائم بأي جلسة ، فإنه يصل إلى حالة الفصل. يمكنك تحويل مثيل منفصل إلى حالة دائمة من خلال وظائف update () أو saveOrUpdate () أو lock () أو تكرار ().
19. ما هو الغرض من الفحص المتسخ في السبات؟
تستدعي ميزة التحقق التلقائي المتسخ في Hibernate تلقائيًا بيان التحديث على الكائنات المعدلة في المعاملة ، مما يساعد المطورين على تجنب إجراءات الكتابة التي تستغرق وقتًا طويلاً.

يقوم الفحص القذر فقط بتعديل / تحديث الحقول التي تتطلب اتخاذ إجراء مع الحفاظ على الحقول الأخرى دون تغيير. بشكل عام ، فإنه يقلل من وقت كتابة قاعدة البيانات.
20. حدد "إدارة المعاملات".
إدارة المعاملات هي سمة من سمات إطار الربيع. إنها في الأساس عملية إدارة مجموعة من الأوامر / البيانات. في Hibernate ، تقوم واجهة المعاملات بتنفيذ إدارة المعاملات من خلال الحفاظ على الاستخراج من تنفيذ المعاملة (JTA ، JDBC). يمكنك بدء معاملة عن طريق استدعاء طريقة session.beginTransaction () .
اقرأ أيضًا: أسئلة وأجوبة مقابلة جافا
خاتمة
في الختام ، على الرغم من أن أسئلة المقابلة العشرين في Hibernate تخدش سطح الموضوع المعني ، نأمل أن يساعدك هذا في كسر الجليد مع Hibernate والتعمق فيه!
نتمنى لك كل التوفيق لبدء حياتك المهنية في جافا!
