سؤال

هل هناك طريقة لإضافة معيار واحد على مستوى (تكوين) مصنع الجلسة والذي سيتم تطبيقه عليه الجميع entites تم استرجاعها بجلسة؟لدينا مطلب بعدم حذف أي صفوف من قاعدة البيانات الخاصة بنا ولكن "وضع علامة" على الكيانات المحذوفة على هذا النحو حتى لا تشارك في أي عمليات أخرى.

أعلم أنه يمكننا فقط استرداد جميع الكيانات من خلال واجهة مشتركة (على سبيل المثال.كائن Dao أساسي مشترك)، ولكن النهج المتبع في التصفية العامة سيكون أقل عرضة للخطأ لأنه لا يتطلب معرفة استخدام هذه الواجهة المشتركة.

هل كانت مفيدة؟

المحلول

توثيق السبات يشرح هذا أكثر من ذلك بقليل.يبدو أن أفضل طريقة للتعامل مع هذا هي باستخدام المرشحات.

أولاً، يمكنك تعريف fitler على فئة أو مجموعة مثل ذلك:

<filter-def name="IsDeletedFilter">
  <filter-param name="IsDeleted" type="bool"/>
</filter-def>

ثم تقوم بإرفاقه بفصل دراسي أو مجموعة:

<class/set  ...>
...
<filter name="IsDeletedFilter" condition=":IsDeleted = Is_Deleted"/>

للأسف، يجب عليك القيام بذلك مع كل فصل تريد حذفه بشكل مبدئي.ولكن قد تكون قادرًا على رسم فئة أساسية SoftDeleteEntity ولديك جدول لكل تسلسل هرمي للفئة الفرعية.

لقد رأيت أيضًا بعض الأشخاص يزعمون أنهم قادرون على القيام بذلك مع المستمعين، على الرغم من أنني لا أعرف كيف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top