2010-01-15 13 views
5

मैं तिथि कॉलम, डिफ़ॉल्ट '0000-00-00' के साथ ने MySQL तालिका है। यदि मैं कॉल करने का प्रयास करता हूं, उदाहरण के लिए, em.find(MyTable.class,pk_value); और यह डिफ़ॉल्ट दिनांक मान '0000-00-00' के साथ डेटाबेस में रिकॉर्ड होता है, तो एक अपवाद फेंक दिया जाता है ( "java.sql.SQLException: मान ... नहीं कर सकता । एक ही त्रुटि डिफ़ॉल्ट के साथ दिनांक समय स्तंभों के लिए होता है '0000-00-00 00:00:00'।
यह किसी भी तरह EntityManager बताने के लिए कि इस तरह के मूल्यों ठीक हैं है "java.sql.Date के रूप में प्रतिनिधित्व किया? धन्यवाद।Mysql दिनांक/Datetime कॉलम और जावा हठ

उत्तर

7

क्या मदद करता है convertToNull को JDBC ड्राइवर का zeroDateTimeBehavior संपत्ति की स्थापना है।

http://ondra.zizka.cz/stranky/programovani/java/index.texy (शून्य DATETIME या TIMESTAMP स्तंभ के लिए "SQLException देखने देखते हैं? उपयोग zeroDateTimeBehavior ")।

jdbc:mysql://localhost/test?zeroDateTimeBehavior=convertToNull

0

कैसे शून्य शून्य पर तारीखें बदलने के बारे में।

+0

मुझे यकीन है कि यह काम करेगा, लेकिन यह कई दुष्प्रभाव हो सकता है, तो मैं नहीं बल्कि यह नहीं है जब तक यह एकमात्र समाधान है चाहते हैं। – a1ex07

1

zeroDateTimeBehavior=convertToNull संपत्ति की स्थापना करके हम इस समस्या से बचने कर सकते हैं। जानकारी के लिए this link देखें।

संबंधित मुद्दे