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

जेपीए 2.0 Oracle दिनांक में शून्य समय है

इस तरह की समस्याओं के लिए, यह आमतौर पर JDBC ड्राइवर का संस्करण और आपके द्वारा उपयोग की जा रही बोली प्रदान करने में मदद करता है।

वैसे भी, मेरी समझ यह है कि आप वास्तव में निम्नलिखित मानचित्रण चाहते हैं (DATE के लिए और समय):

@Column(name = "READING_DATE")
@Temporal(TemporalType.TIMESTAMP)
private Date readingDate;

और आप जिस समस्या का सामना कर रहे हैं वह किसी तरह Oracle द्वारा संस्करण 9.2 के साथ पेश किए गए पागलपन से संबंधित है, देखें DATE और TIMESTAMP के साथ क्या हो रहा है? (संक्षेप में, उन्होंने एक TIMESTAMP . पेश किया कॉलम और DATE की मैपिंग को बदल दिया है SQL प्रकार, अक्सर पूछे जाने वाले प्रश्न पढ़ें)। इसे हल करने के लिए कई विकल्प हैं (मैं निश्चित रूप से मान रहा हूं कि आप TemporalType.TIMESTAMP का उपयोग कर रहे हैं। मैपिंग):

या तो TIMESTAMP का उपयोग करें कॉलम प्रकार (मेरा मतलब यह नहीं है TemporalType.TIMESTAMP यहां, मेरा वास्तव में डीबी पक्ष पर कॉलम प्रकार का मतलब है)। लेकिन अगर आपको नैनोसेकंड परिशुद्धता की आवश्यकता नहीं है, तो यह सबसे अच्छा विकल्प नहीं है।

या oracle.jdbc.V8Compatible=true . सेट करें संगतता मोड, सिस्टम प्रॉपर्टी के रूप में या कनेक्शन प्रॉपर्टी के रूप में:

<property name="hibernate.connection.oracle.jdbc.V8Compatible">true</property>

हां, आप इस तरह मनमाने ढंग से कनेक्शन गुण सेट कर सकते हैं। हाइबरनेट दस्तावेज़ीकरण से:

या Oracle JDBC 11.1 ड्राइवर का उपयोग करें (उन्होंने परिवर्तन को वापस करके समस्या को "ठीक" किया)। यह IMO आदर्श समाधान है (V8Compatible सामग्री बहिष्कृत है)।

संबंधित समस्या



  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 के लिए NLS_NCHAR_CHARACTERSET और NLS_CHARACTERSET के बीच अंतर

  2. PL/SQL का उपयोग करके CLOB फ़ील्ड से JSON डेटा को पार्स करना

  3. Oracle सिंटैक्स लेफ्ट तीन या अधिक तालिकाओं को जोड़ता है

  4. ओरेकल 11g . में क्लॉज का उपयोग करना

  5. क्या बीओएम के साथ यूटीएफ -8 के रूप में एन्कोड की गई फ़ाइल पर SQLPLUS स्क्रिप्ट चलाना संभव है?