عند محاولة حفظ كائن باستخدام السبات، قد تواجه الخطأ التالي:
object references an unsaved transient instance - save the transient instance before flushing
فهم خطأ
يشير هذا الخطأ إلى أن لديك مجموعة في الكيان الخاص بك تحتوي على عنصر واحد أو أكثر غير موجود في قاعدة البيانات. يتطلب السبات أن يتم حفظ (استمرار) جميع الكيانات المشار إليها بواسطة كيانات أخرى في قاعدة البيانات أو وضع علامة عليها على أنها عابرة.
الحل
الحل لهذا الخطأ هو التحديد خيار التتالي لرسم خرائط مجموعتك. يمكنك القيام بذلك إما باستخدام XML أو التعليقات التوضيحية:
XML:
...
التعليقات التوضيحية:
@OneToMany(cascade = CascadeType.ALL) قائمة خاصة@OneToMany(cascade = CascadeType.ALL) private ListcollectionName;
شرحمن خلال تحديد خيار cascade="all" أو CascadeType.ALL، فإنك تقوم بإرشاد Hibernate لحفظ جميع الكيانات في المجموعة إلى قاعدة البيانات عند حفظ الكيان الأصل. وهذا يضمن بقاء كافة الكيانات المشار إليها في قاعدة البيانات ويحل الخطأ.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3