السبات الفرق بين الاتصال العاجل والاتصال العادي
تم التعليق على المقدمة والتفسير ذات الصلة في الكود ، بحيث يمكنك الرجوع إليها.
package com.baidu.test ؛ import java.util.arraylist ؛ import java.util.linkedHashset ؛ import java.util.list ؛ import org.hibernate.query ؛ import org.hibernate.session ؛ import org.hibernate.sessionFactory ؛ org.hibernate.service.serviceregistry ؛ استيراد org.hibernate.service.serviceregistrybuilder testHql_LeftJoin {private sessionfactory sessionfactory ؛ جلسة جلسة خاصة ؛ معاملة معاملة خاصة ؛@قبل الفراغ العام init () {configuration configuration = configuration (). configuration.buildsessionfactory (serviceRegistry) ؛ Session = SessionFactory.OpenSession () ؛ Transaction = session.begintransactaction () ؛}@بعد تدمير الفراغ العام () {Transactaction.Commit () ؛ session.close () ؛ sessionfactory.close () ؛} // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~… العديد من ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/****** الانتصاب اليسرى الانضمام الخارجي: الميزات هي: الجدول الأيسر لا تفي بالظروف ، فإن الجدول الأيسر لا يفي بالشروط* 1. * 2. تقوم طريقة القائمة () بتخزين الإشارات إلى كائنات الكيان في المجموعة التي تم إرجاعها. تتم تهيئة جمع الموظف المرتبط بكل كائن قسم ، * يخزن جميع كائنات الكيان المرتبطة. * 3. قد تحتوي نتيجة الاستعلام على عناصر مكررة ، ويمكن ترشيح العناصر المكررة من خلال Hashset * * declubication: * الطريقة 1: استخدم سلسلة متميزة * HQL = "SELECT DISERT D DEBARE D LEFT JOON FETCH D.EMPS" ؛ * Query Query = Session.Createquery (HQL) ؛ * * LIST <Separtment> depths = query.list () ؛ * system.out.println (depts.size ()) ؛ * * الطريقة 2 * String HQL = "من Department D Left Left BETTER D.EMPS" ؛ * Query Query = Session.Createquery (HQL) ؛ * * LIST <Separtment> depts = query.list () ؛ * * Depts = New ArrayList <> (New LinkedHashSet (Depts)) ؛ * system.out.println (depts.size ()) ؛ * * for (Department Dept: Depts) { * system.out.println (dept.getName () + "-" + dept.getemps (). size ()) ؛ *} * * */@test public void testleftjoinfetch () {// string hql = "حدد district d من القسم d join join jound fetch d.emps" ؛ // query query = session.createquery (hql) ؛ // // list <Department> Queper = query.list () ؛ fetch d.emps "؛ query query = session.createquery (hql) ؛ list <separtment> depts = query.list () ؛ system.out.println (depts.size ()) ؛ depts = new ArrayList <> (New LinkedHashset (depts)) DEPT: DEPTS) {system.out.println (dept.getName () + "-" + dept.getemps (). size ()) ؛}/** * join upter اليسرى: * 1. تمثل الكلمة الرئيسية للانضمام اليسرى استعلامًا خارجيًا الأيسر. * 2. يتم تخزين نوع صفيف الكائن في المجموعة التي تم إرجاعها بواسطة طريقة القائمة () * 3. حدد استراتيجية البحث لمجموعة الموظف بناءً على ملف التكوين. * 4. إذا كنت تريد إرجاع المجموعة التي يتم إرجاعها بواسطة طريقة القائمة () ، فإنها تحتوي على كائنات قسم فقط ، * يمكنك استخدام الكلمة الرئيسية المحددة في عبارات استعلام HQL * * يتم تكرار نتائج استعلام البيان: * String HQL = "من Department D Left Join D.Emps" ؛ * Query Query = Session.Createquery (HQL) ؛ * * قائمة <object []> النتائج = Query.List () ؛ * system.out.println (results.size ()) ؛ * * deceduplication: * فقط استخدم طريقة متميزة لإزالة الازدواجية * * String HQL = "حدد Dister D من Department D Left Join D.Emps" ؛ * Query Query = Session.Createquery (HQL) ؛ * * LIST <Separtment> depts = query.list () ؛ * system.out.println (depts.size ()) ؛ * * for (Department Dept: Depts) { * system.out.println (dept.getName () + dept.getemps (). size ()) ؛ *} * * */@test public void testleftjoin () {String hql = "Select Direct Devance d من Department d left join d.emps" ؛ query query = session.createquery (hql) ؛ rip + dept.getemps (). size ()) ؛}}/*** الاتصال الداخلي الاندفاعي: الميزات هي: لا تُرجع الجدول الأيسر ولكن لا تفي بالشروط* تمثل الكلمة الرئيسية لجلب الوصلات الداخلية في المجموعة التي يتم إرجاعها من خلال المجموعة المرجعية ، ويتم حذف الكلمة الرئيسية للموظف ، حيث يتم توصيل الكلمة الرئيسية*. * الاتصالات الداخلية: * تمثل الكلمة الأساسية للانضمام الداخلي اتصالًا داخليًا ، ويمكن أيضًا حذف الكلمة الرئيسية الداخلية. سجل نتيجة الاستعلام لكل عنصر مخزّن في مجموعة طريقة القائمة () هو نوع صفيف الكائن. كل عنصر هو نوع صفيف الكائن * إذا كنت تريد إرجاع المجموعة التي يتم إرجاعها بواسطة طريقة القائمة () فقط احتواء كائنات قسم ، يمكنك استخدام الكلمة الرئيسية المحددة في عبارة Query HQL * * * */@test public void testinnerjoinfetch () {// string hql = "select direct direction d left d.emps" session.createquery (HQL) ؛ قائمة <Repartment> Depts = Query.List () ؛ Depts = New ArrayList <> (New LinkedHashSet (Depts)) ؛ System.out.println (DeptS.Size ()) ؛ for (Dept Dept: Depts) ) ؛}} // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~@test public void testleftjoinfetch2 () {string hql = "من الموظف e e e efled join bet e.dept" ؛ query query = session.createquery (hql) ؛ list <forkeee> emps = query.list () ؛ system.out.println (emps.size () for (emps) emp.getdept ()) ؛}}}لخص
ما سبق هو المحتوى الكامل لهذه المقالة حول الفرق بين الاتصال العاجل واتصال عادي. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى هذا الموقع:
مناقشة موجزة حول مشكلة التحميل العاجلة لإسبات (جمعية مفتاح خارجي متعددة)
شرح مفصل لرمز التشغيل لإضافة وحذف وتعديل والبحث في السبات
إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها. شكرا لك يا أصدقائك لدعمكم لهذا الموقع!