अपवाद:
हमें बताता है कि सत्र अपवाद पहले . हुआ है वह बिंदु जहां यह org.hibernate.AssertionFailure
. है फेंक दिया जाता है।
सटीक होने के लिए, org.hibernate.AssertionFailure
फेंक दिया जाता है जब session.flush()
हो रहा है, उस बिंदु पर नहीं जहां त्रुटि हुई।
उपरोक्त एक तथ्य है, इस प्रकार इसका एक संभावित निष्कर्ष यह है:कुछ दबाने वाला . हो सकता है मूल अपवाद।
तो अन्य . खोजें त्रुटि के संभावित बिंदु:A save()
या saveOrUpdate()
संभवत:एक null
के साथ एक इकाई को बनाए रखने की कोशिश कर रहा है फ़ील्ड जहां, तालिका में, कॉलम NOT NULL
है ?
टिप: डिबगिंग में सहायता के लिए, session.flush()
जोड़ने का प्रयास करें Session
. के साथ हर बातचीत के बाद ऑब्जेक्ट (उदा. session.save(obj)
, session.merge(obj)
, आदि), यह उम्मीद से org.hibernate.AssertionFailure
का कारण बनेगा पहले होने के लिए, जहां वास्तविक समस्या हो रही है, उसके करीब। (बेशक, डिबगिंग के बाद, उन session.flush()
को हटा दें ।)
मेरे मामले में, असली एक try/catch {}
. के अंदर अपवाद हो रहा था ब्लॉक करें जहां catch
अपवाद को दबा दिया (इसके बारे में मुझे फिर से नहीं हटाया या चेतावनी नहीं दी)।