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

हाइबरनेट का saveOrUpdate नॉट-नल कॉलम प्रॉपर्टी पर ध्यान नहीं देता

यह बिल्कुल सही व्यवहार है।

not-null विशेषता के दो अर्थ हैं:

  • स्कीमा निर्यात टूल का समर्थन करें
  • कार्यकाल में इकाई की जाँच करें (अर्थात डेटाबेस कॉलम सेटिंग की जाँच न करें)

देखें:5.1. मानचित्रण घोषणा , निकालें:

और 5.1.11. संपत्ति , निकालें:

इसलिए, यदि आपके क्लाइंट कुछ कोड चलाते हैं, जो कोशिश करता है:

getHibernateTemplate().saveOrUpdate(myEntity);

जबकि myEntity not-null="true" . के रूप में सेट की गई कुछ संपत्ति गुम है रनटाइम अपवाद फेंकने में यह सही है। अपने परीक्षण के माहौल में आप सबसे अधिक संभावना हमेशा संपत्ति को कुछ . पर सेट करते हैं शून्य मान नहीं।

और एक फायदा भी है। डीबी और ऐप शिथिल युग्मित हैं। इसलिए यदि आवश्यक हो, तो आप डीबी को नहीं छूते हुए ऐप की तरफ और अधिक बाधाएं बना सकते हैं (उदाहरण के लिए आपको अनुमति नहीं है)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में महीने के नाम के बाद अनुगामी रिक्त स्थान कैसे निकालें?

  2. SQLAlchemy से PL/SQL फ़ंक्शन (या प्रक्रिया) निष्पादित करें

  3. SQL सर्वर T-SQL में REGEXP_LIKE रूपांतरण

  4. Oracle डेटाबेस में जुड़े हुए उपयोगकर्ताओं को छोड़ना

  5. डेटाटाइम फ़ील्ड को SQL (Oracle) में केवल एक दिनांक फ़ील्ड में कनवर्ट करें