JavaRush /مدونة جافا /Random-AR /السبات أسئلة المقابلة
Dr-JohnZoidberg
مستوى
Киев

السبات أسئلة المقابلة

نشرت في المجموعة
هذه المقالة عبارة عن ترجمة وتحسين للمقالات الأجنبية (قائمة الموارد مدرجة في نهاية المقالة). يتم توسيع الإجابات على بعض الأسئلة، ويتم توفير روابط لموارد الطرف الثالث التي تحتوي على الإجابات التي قد تنشأ أثناء عملية القراءة. 1) ما هو السبات؟ إنه إطار لرسم خرائط الكائنات العلائقية للكيانات في قواعد البيانات العلائقية التقليدية. الملامح الرئيسية للإطار: 1) الإنشاء التلقائي وتحديث الجداول في قواعد البيانات؛ 2) نظرًا لأن الاستعلامات الرئيسية لقاعدة البيانات (الحفظ والتحديث والحذف والبحث) يتم تقديمها كطرق للإطار، فسيتم تقليل الكود الذي يكتبه المطور بشكل كبير؛ 3) يوفر استخدام لغة تشبه SQL (HQL - لغة الاستعلام السبات). يمكن كتابة استعلامات HQL جنبًا إلى جنب مع كائنات البيانات (فئات POJO المعدة للعمل مع قاعدة البيانات). 2) كيفية السباتيساعد في البرمجة؟ ينفذ Hibernate عددًا من الميزات التي تعمل على تبسيط عمل المطور إلى حد كبير. — إحدى هذه الميزات هي أن السبات يسمح للمطور بتجنب كتابة معظم استعلامات SQL (تم تنفيذها بالفعل، ما عليك سوى استخدام الأساليب التي يوفرها إطار العمل). - تحت الغطاء، يحتوي Hibernate على مجموعة من الأدوات المفيدة التي تعمل على تسريع التطبيق بشكل كبير، وأبرزها التخزين المؤقت على مستويين وضبط عمليات السحب البطيئة والجلب. - إنشاء الجداول في قاعدة البيانات نفسها. 3) طرق تكوين العمل مع السبات. هناك أربع طرق لتكوين العمل مع السبات: - استخدام التعليقات التوضيحية؛ - hibernate.cfg.xml; - السبات.خصائص؛ - الثبات.xml. طريقة التكوين الأكثر شيوعًا: من خلال التعليقات التوضيحية وملف الثبات.xml، أما بالنسبة لملفات hibernate.properties وhibernate.cfg.xml، فإن hibernate.cfg.xml أكثر أهمية (إذا كان التطبيق يحتوي على كلا الملفين، فإن الإعدادات من يتم قبول ملف hibernate.cfg.xml). التكوين باستخدام التعليقات التوضيحية، على الرغم من أنه مناسب، ليس ممكنًا دائمًا؛ على سبيل المثال، إذا كنت تريد تكوينات كيانات مختلفة لقواعد بيانات مختلفة أو لمواقف مختلفة، فيجب عليك استخدام ملفات تكوين xml. 4) ما هي الواجهات الرئيسية التي يستخدمها السبات؟ هناك خمس واجهات رئيسية يتم استخدامها في كل تطبيق متعلق بالإسبات: - واجهة الجلسة؛ - واجهة SessionFactory؛ — واجهة التكوين. - واجهة المعاملات؛ - واجهات الاستعلام والمعايير. 5) ما هو دور واجهة الجلسة في السبات؟ الجلسة هي الواجهة الرئيسية المسؤولة عن التواصل مع قاعدة البيانات. كما أنه يساعد في إنشاء كائنات الطلب للحصول على الكائنات الدائمة. (كائن ثابت - كائن موجود بالفعل في قاعدة البيانات؛ كائن الطلب - كائن يتم الحصول عليه عندما نتلقى نتيجة استعلام في قاعدة البيانات، وبهذا يعمل التطبيق). يمكن الحصول على كائن الجلسة من SessionFactory: Session session = sessionFactory.openSession(); دور واجهة الجلسة: عبارة عن غلاف لاتصال jdbc بقاعدة البيانات؛ (https://ru.wikipedia.org/wiki/Java_Database_Connectiv..) - هو مصنع للمعاملات (وفقًا لمعاملة التوثيق الرسمية - يسمح للتطبيق بتحديد وحدات العمل، وهو ما يعني، في جوهره، أن المعاملة تحدد حدود العمليات المرتبطة بقاعدة البيانات). - هو الوصي على ذاكرة التخزين المؤقت الإلزامية من المستوى الأول. 6) ما هو دور واجهة SessionFactory في السبات؟ من كائن SessionFactory نحصل على كائنات من نوع الجلسة. لا يوجد سوى SessionFactory واحد للتطبيق بأكمله، وتتم تهيئته عند بدء تشغيل التطبيق. يقوم SessionFactory بتخزين البيانات التعريفية واستعلامات SQL التي يستخدمها التطبيق بشكل متكرر أثناء التشغيل. كما يقوم أيضًا بتخزين المعلومات التي تم تلقيها في إحدى المعاملات مؤقتًا ويمكن استخدامها في معاملات أخرى. يمكن الحصول على كائن SessionFactory باستخدام الاستدعاء التالي: SessionFactory sessionFactory = التكوين.buildSessionFactory(); 7) ما هي أنواع المجموعات المتوفرة في السبات؟ حقيبة، مجموعة، قائمة، خريطة، صفيف. 8) ما هي مجموعة نوع الحقائب ولماذا يتم استخدامها؟ في تنفيذه، يشبه نوع مجموعة الحقائب إلى حد كبير المجموعة، والفرق هو أن الأكياس يمكنها تخزين القيم المكررة. تقوم الحقيبة بتخزين قائمة غير مفهرسة من العناصر. تحتوي معظم الجداول في قاعدة البيانات على فهارس تعرض موضع عنصر البيانات بالنسبة لبعضها البعض؛ ويتم تمثيل هذه الفهارس في الجدول كعمود منفصل. باستخدام التعيين العلائقي للكائنات، يتم تعيين قيم عمود الفهرس إلى فهرس في مصفوفة، أو فهرس في قائمة، أو مفتاح في الخريطة. إذا كنت بحاجة إلى الحصول على مجموعة من الكائنات التي لا تحتوي على بيانات فهرس، فيمكنك استخدام مجموعات من النوع Bag أو Set (تحتوي المجموعات على بيانات في شكل غير مصنف، ولكن يمكن فرزها وفقًا للطلب). 9) ما هو الفرق في تشغيل طرق التحميل ()؟ واحصل على()؛؟ طريقة التحميل () ؛ يُستخدم عادةً عندما لا تكون متأكدًا من أن الكائن المطلوب موجود بالفعل في قاعدة البيانات. إذا لم يتم العثور على الكائن، فإن الطريقة تطرح استثناءً، وإذا تم العثور على الكائن، تقوم الطريقة بإرجاع كائن وكيل، وهو رابط للكائن الموجود في قاعدة البيانات (لم يتم تقديم طلب قاعدة البيانات بعد، وهو نوع من الاسترجاع البطيء)، طلب مباشر إلى قاعدة البيانات عندما نصل مباشرة إلى الكائن المطلوب من خلال كائن وكيل. طريقة الحصول على () ؛ عند استخدامها، فأنت لست متأكدًا بنسبة 100 بالمائة مما إذا كان الكائن المطلوب موجودًا في قاعدة البيانات. في حالة الوصول إلى كائن غير موجود، طريقة get(); سوف يعود فارغة. إذا تم العثور على الكائن، فإن طريقة get()؛ سيُرجع الكائن نفسه وسيتم إجراء استعلام قاعدة البيانات على الفور. 10) ما هو الجلب البطيء في السبات؟ يرتبط نوع السحب البطيء في الإسبات بالكيانات الورقية (الفرعية) ويحدد سياسة الخروج المشتركة إذا كان هناك طلب لسحب كيان أصل. مثال بسيط: يوجد بيت كيان. يقوم بتخزين معلومات عن رقمه وشارعه وعدد شققه ومعلومات عن العائلات التي تسكن الشقق، وتشكل هذه العائلات كيانًا فرعيًا نسبة إلى كيان المنزل. عندما نطلب معلومات حول منزل ما، قد يكون من غير الضروري تمامًا بالنسبة لنا معرفة معلومات حول العائلات التي تعيش فيه، هنا يأتي الجلب البطيء لمساعدتنا، مما يسمح لنا بتكوين كيان المنزل بحيث يتم توفير المعلومات حول العائلات فقط عند الطلب، فهذا يلغي الطلب بشكل كبير ويسرع التطبيق. © ديف باي تحتوي معظم الجداول في قاعدة البيانات على فهارس تعرض موضع عنصر البيانات بالنسبة لبعضها البعض؛ ويتم تمثيل هذه الفهارس في الجدول كعمود منفصل. باستخدام التعيين الارتباطي للكائنات، يتم تعيين قيم عمود الفهرس إلى فهرس في مصفوفة، أو فهرس في قائمة، أو مفتاح في الخريطة. إذا كنت بحاجة إلى الحصول على مجموعة من الكائنات التي لا تحتوي على بيانات فهرس، فيمكنك استخدام مجموعات من النوع Bag أو Set (تحتوي المجموعات على بيانات في شكل غير مصنف، ولكن يمكن فرزها وفقًا للطلب). 9) ما هو الفرق في تشغيل طرق التحميل ()؟ واحصل على()؛؟ طريقة التحميل () ؛ يُستخدم عادةً عندما لا تكون متأكدًا من أن الكائن المطلوب موجود بالفعل في قاعدة البيانات. إذا لم يتم العثور على الكائن، فإن الطريقة تطرح استثناءً، وإذا تم العثور على الكائن، تقوم الطريقة بإرجاع كائن وكيل، وهو رابط للكائن الموجود في قاعدة البيانات (لم يتم تقديم طلب قاعدة البيانات بعد، وهو نوع من الاسترجاع البطيء)، طلب مباشر إلى قاعدة البيانات عندما نصل مباشرة إلى الكائن المطلوب من خلال كائن وكيل. طريقة الحصول على () ؛ عند استخدامها، فأنت لست متأكدًا بنسبة 100 بالمائة مما إذا كان الكائن المطلوب موجودًا في قاعدة البيانات. في حالة الوصول إلى كائن غير موجود، طريقة get(); سوف يعود فارغة. إذا تم العثور على الكائن، فإن طريقة get()؛ سيُرجع الكائن نفسه وسيتم إجراء استعلام قاعدة البيانات على الفور. 10) ما هو الجلب البطيء في السبات؟ يرتبط نوع السحب البطيء في الإسبات بالكيانات الورقية (الفرعية) ويحدد سياسة الخروج المشتركة إذا كان هناك طلب لسحب كيان أصل. مثال بسيط: يوجد بيت كيان. يقوم بتخزين معلومات عن رقمه وشارعه وعدد شققه ومعلومات عن العائلات التي تسكن الشقق، وتشكل هذه العائلات كيانًا فرعيًا نسبة إلى كيان المنزل. عندما نطلب معلومات حول منزل ما، قد يكون من غير الضروري تمامًا بالنسبة لنا معرفة معلومات حول العائلات التي تعيش فيه، هنا يأتي الجلب البطيء لمساعدتنا، مما يسمح لنا بتكوين كيان المنزل بحيث يتم توفير المعلومات حول العائلات فقط عند الطلب، فهذا يلغي الطلب بشكل كبير ويسرع التطبيق. © ديف باي تحتوي معظم الجداول في قاعدة البيانات على فهارس تعرض موضع عنصر البيانات بالنسبة لبعضها البعض؛ ويتم تمثيل هذه الفهارس في الجدول كعمود منفصل. باستخدام التعيين العلائقي للكائنات، يتم تعيين قيم عمود الفهرس إلى فهرس في مصفوفة، أو فهرس في قائمة، أو مفتاح في الخريطة. إذا كنت بحاجة إلى الحصول على مجموعة من الكائنات التي لا تحتوي على بيانات فهرس، فيمكنك استخدام مجموعات من النوع Bag أو Set (تحتوي المجموعات على بيانات في شكل غير مصنف، ولكن يمكن فرزها وفقًا للطلب). 9) ما هو الفرق في تشغيل طرق التحميل ()؟ واحصل على()؛؟ طريقة التحميل () ؛ يُستخدم عادةً عندما لا تكون متأكدًا من أن الكائن المطلوب موجود بالفعل في قاعدة البيانات. إذا لم يتم العثور على الكائن، فإن الطريقة تطرح استثناءً، وإذا تم العثور على الكائن، تقوم الطريقة بإرجاع كائن وكيل، وهو رابط للكائن الموجود في قاعدة البيانات (لم يتم تقديم طلب قاعدة البيانات بعد، وهو نوع من الاسترجاع البطيء)، طلب مباشر إلى قاعدة البيانات عندما نصل مباشرة إلى الكائن المطلوب من خلال كائن وكيل. طريقة الحصول على () ؛ عند استخدامها، فأنت لست متأكدًا بنسبة 100 بالمائة مما إذا كان الكائن المطلوب موجودًا في قاعدة البيانات. في حالة الوصول إلى كائن غير موجود، طريقة get(); سوف يعود فارغة. إذا تم العثور على الكائن، فإن طريقة get()؛ سيُرجع الكائن نفسه وسيتم إجراء استعلام قاعدة البيانات على الفور. 10) ما هو الجلب البطيء في السبات؟ يرتبط نوع السحب البطيء في الإسبات بالكيانات الورقية (الفرعية) ويحدد سياسة الخروج المشتركة إذا كان هناك طلب لسحب كيان أصل. مثال بسيط: يوجد بيت كيان. يقوم بتخزين معلومات عن رقمه وشارعه وعدد شققه ومعلومات عن العائلات التي تسكن الشقق، وتشكل هذه العائلات كيانًا فرعيًا نسبة إلى كيان المنزل. عندما نطلب معلومات حول منزل ما، قد يكون من غير الضروري تمامًا بالنسبة لنا معرفة معلومات حول العائلات التي تعيش فيه، هنا يأتي الجلب البطيء لمساعدتنا، مما يسمح لنا بتكوين كيان المنزل بحيث يتم توفير المعلومات حول العائلات فقط عند الطلب، فهذا يلغي الطلب بشكل كبير ويسرع التطبيق. © ديف باي الاستعلام المباشر إلى قاعدة البيانات عندما نصل مباشرة إلى الكائن المطلوب من خلال كائن وكيل. طريقة الحصول على () ؛ عند استخدامها، فأنت لست متأكدًا بنسبة 100 بالمائة مما إذا كان الكائن المطلوب موجودًا في قاعدة البيانات. في حالة الوصول إلى كائن غير موجود، طريقة get(); سوف يعود فارغة. إذا تم العثور على الكائن، فإن طريقة get()؛ سيُرجع الكائن نفسه وسيتم إجراء استعلام قاعدة البيانات على الفور. 10) ما هو الجلب البطيء في السبات؟ يرتبط نوع السحب البطيء في الإسبات بالكيانات الورقية (الفرعية) ويحدد سياسة الخروج المشتركة إذا كان هناك طلب لسحب كيان أصل. مثال بسيط: يوجد بيت كيان. يقوم بتخزين معلومات عن رقمه وشارعه وعدد شققه ومعلومات عن العائلات التي تسكن الشقق، وتشكل هذه العائلات كيانًا فرعيًا نسبة إلى كيان المنزل. عندما نطلب معلومات حول منزل ما، قد يكون من غير الضروري تمامًا بالنسبة لنا معرفة معلومات حول العائلات التي تعيش فيه، هنا يأتي الجلب البطيء لمساعدتنا، مما يسمح لنا بتكوين كيان المنزل بحيث يتم توفير المعلومات حول العائلات فقط عند الطلب، فهذا يلغي الطلب بشكل كبير ويسرع التطبيق. © ديف باي الاستعلام المباشر إلى قاعدة البيانات عندما نصل مباشرة إلى الكائن المطلوب من خلال كائن وكيل. طريقة الحصول على () ؛ عند استخدامها، فأنت لست متأكدًا بنسبة 100 بالمائة مما إذا كان الكائن المطلوب موجودًا في قاعدة البيانات. في حالة الوصول إلى كائن غير موجود، طريقة get(); سوف يعود فارغة. إذا تم العثور على الكائن، فإن طريقة get()؛ سيُرجع الكائن نفسه وسيتم إجراء استعلام قاعدة البيانات على الفور. 10) ما هو الجلب البطيء في السبات؟ يرتبط نوع السحب البطيء في الإسبات بالكيانات الورقية (الفرعية) ويحدد سياسة الخروج المشتركة إذا كان هناك طلب لسحب كيان أصل. مثال بسيط: يوجد بيت كيان. يقوم بتخزين معلومات عن رقمه وشارعه وعدد شققه ومعلومات عن العائلات التي تسكن الشقق، وتشكل هذه العائلات كيانًا فرعيًا نسبة إلى كيان المنزل. عندما نطلب معلومات حول منزل ما، قد يكون من غير الضروري تمامًا بالنسبة لنا معرفة معلومات حول العائلات التي تعيش فيه، هنا يأتي الجلب البطيء لمساعدتنا، مما يسمح لنا بتكوين كيان المنزل بحيث يتم توفير المعلومات حول العائلات فقط عند الطلب، فهذا يلغي الطلب بشكل كبير ويسرع التطبيق. © ديف باي
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION