का उपयोग करते हुए एक जावा ऑब्जेक्ट में ओरेकल दिनांक मैपिंग करना मुझे संदेश मिलता है "शाब्दिक प्रारूप स्ट्रिंग से मेल नहीं खाता"।हाइबरनेट
public String getDateTime();
public void setDateTime(String date_time);
यहाँ जाता है कि वर्ग के लिए हाइबरनेट कॉन्फ़िग फ़ाइल से मानचित्रण:
<property name="dateTime" column="date_time">
और यहाँ उस के लिए DDL है
उदाहरण के लिए, यहाँ एक जावा वर्ग से कुछ तरीके हैं कॉलम:
CREATE TABLE "SCHEMA"."TABLE_NAME"
(
"DATE_TIME" DATE,
etc.
)
मैंने टाइप = "डेट" और "टाइमस्टैम्प" (एक ही समय में नहीं) सेटिंग की कोशिश की हाइबरनेट कॉन्फ़िगरेशन में संपत्ति पर attr, और उसके बाद जावा प्रकार को स्ट्रिंग से दिनांक में बदल रहा है, लेकिन इससे मुझे एक अलग त्रुटि मिली। मैंने पैरामीटर को बाध्य करने के बारे में कुछ पढ़ा लेकिन उस के सिर या पूंछ नहीं बना सका।
जब मैं कॉन्फ़िगर से उस संपत्ति को टिप्पणी करता हूं तो बाकी सब कुछ काम कर रहा है, इसलिए मुझे यकीन है कि यह मेरी समस्या है। कष्टप्रद बात यह है कि मेरे पास एक ही ओरेकल डेट-> जावा स्ट्रिंग मैपिंग के साथ एक और टेबल/क्लास मैपिंग है जो मुझे यह समस्या नहीं देती है।
गुह। मुझे नहीं लगता कि मैंने पहली बार स्ट्रिंग विधि पैरामीटर से स्ट्रिंग विधि पैरामीटर को बदल दिया है। गूंगा महसूस कर रहा है, क्योंकि यह इस बार घड़ी की तरह काम करता था। –
यह केवल तभी काम करता है जब आप मैपिंग प्रॉपर्टी में "टाइप" विशेषता शामिल नहीं करते हैं: <संपत्ति का नाम = "डेटटाइम" कॉलम = "डेट_टाइम"> यदि आप या तो "दिनांक" या "टाइमस्टैम्प" के मान के साथ प्रकार शामिल करते हैं "यह मूल्यों को सटीक रूप से परिवर्तित नहीं करेगा। तो निम्नलिखित बीएडी है: <संपत्ति का नाम = "डेटटाइम" कॉलम = "डेट_टाइम" टाइप = "दिनांक"> यहां एक लिंक है जो यह समझाता है कि यह क्यों सच है: http://fishbowl.pastiche.org/2005/07/13/hibernate_oracle_and_dates_a_story/और यहां समाधान का वर्णन करने वाला एक लिंक है: http://www.enavigo.com/2007/10/20/mapping-hibernate-to-oracle-date-fields/ –