إجراء اختبارات إضافية للتحقق من أحدث منطق المجموعة التفاعلية من التغييرات OrderColumn # 581 . ركض في مشكلة إزالة أكثر من عنصر واحد أثناء تدفق ().
انظر: OrderedEmbeddableCollectionTest
استثناء: [استثناء 0] io.vertx.core.impl.NoStackTraceThrowable: يجب أن يكون عدد المعلمات المراد تنفيذها متسقًا مع العدد المتوقع للمعلمات = [2] ولكن الرقم الفعلي هو [3].
[استثناء 1] io.vertx.core.VertxException: اكتملت المعاملة بالفعل
يبدو أن مصفوفة قيم الكائن [] تقوم بإرجاع كائن [3] بدلاً من كائن [2] للعنصر المحذوف الثاني في رسالة الملخص الجديدة: https://github.com/hibernate/hibernate-reactive/blob/ fe9dfbaa07e4b71fe85e949a45ac23c91c26709b / hibernate-reactive-core / src / main / java / org / hibernate / رد فعل / persister / collection / impl / ReactiveAbstractCollectionPersister.java # L237
قد يكون من المفيد الحصول على الاختبار من خلال العمل على Hibernate ORM core ، فقط لتتمكن من المضي قدمًا ومعرفة ما يحدث هناك.
في deleteRows
في ORM ، لا يتغير int offset = 1;
أبدًا.
في رد الفعل ، نقوم بتمرير الإزاحة إلى المكالمة deleteRowsParamValues( entry, index+1, id, session )
، والتي تستند إلى قيمة index
المتزايدة. يبدو أننا دمجنا بشكل خاطئ مفاهيم i
و index
و loc
و offset
في ORM.
يبدو أن قيمة i
توفر طرق تحديث وإدراج لمعرفة إدخال المجموعة الذي يتم تشغيله ، لذلك لا ينبغي ربطه / استخدامه في عملية الحذف.
نعم ، يبدو أن المنطق تم نقله بشكل خاطئ.
أعتقد أن مجرد تغيير index+1"
إلى 1
يعكس منطق ORM
رائعة!
مسكة جيدة!
blafond : لقد قمت بتعيين هذا لك كما يبدو أن لديك بالفعل إصلاح
شكرا ، blafond