Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

org.hibernate.AssertionFailure:प्रविष्टि में शून्य आईडी (अपवाद होने के बाद सत्र को फ्लश न करें)

अपवाद:

हमें बताता है कि सत्र अपवाद पहले . हुआ है वह बिंदु जहां यह 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 अपवाद को दबा दिया (इसके बारे में मुझे फिर से नहीं हटाया या चेतावनी नहीं दी)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में सेकंड्स को टाइम वैल्यू में कैसे बदलें

  2. ROW_NUMBER () MySQL में

  3. एक्सेस फॉर्म कैस्केडिंग कॉम्बो बॉक्स ड्रॉप डाउन मेनू में कुछ भी नहीं दिखाता है

  4. पीडीओ - अमान्य पैरामीटर संख्या

  5. php password_verify () हैश और पास मेल नहीं खाएगा