2012-05-10 18 views
6

मैं उपयोगकर्ता टाइप टाइप 3.0.0.RC1 से org.jadira.usertype.dateandtime.joda.PersistentDateTime क्लास का उपयोग कर रहा हूं जो एक जेडाटाइम DateTime को हाइबरनेट में मैप करने के लिए है। कक्षा के लिए The Javadocs का उल्लेख है कि 'डेटाबेसज़ोन' और 'jvmZone' गुण हैं जिन्हें मैं सेट करना चाहता हूं, लेकिन मुझे UserType दस्तावेज़ में कुछ भी नहीं मिला है जो इंगित करता है कि यह कैसे करें। मैं this thread पाया जो यह सूचित करते हैं कि इन एक्सएमएल निम्न के समान द्वारा स्थापित कर रहे हैं लगता है:उपयोगकर्ता टाइप/हाइबरनेट/जोडाटाइम - उपयोगकर्ता टाइप वैश्विक गुण कहां सेट करें?

<prop key="jadira.usertype.autoRegisterUserTypes">true</prop> 
<prop key="jadira.usertype.databaseZone">jvm</prop> 

मैं अपने हाइबरनेट विन्यास करने के लिए इन जोड़ने की कोशिश की, लेकिन वह सिर्फ एक त्रुटि दे दी है। क्या किसी को पता है कि इस कॉन्फ़िगरेशन को कहां जाना है? धन्यवाद।

उत्तर

4

उन सेटिंग्स वास्तव में, हाइबरनेट विन्यास में रखा जा सकता है के रूप में निम्नलिखित की तरह:

<session-factory> 

    <!-- Database connection settings --> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.url">jdbc:mysql://localhost:3306/SOME_DATABASE</property> 
    <property name="connection.username">root</property> 
    <property name="connection.password">password</property> 

    ... 

    <property name="jadira.usertype.databaseZone">UTC</property> 
    <property name="jadira.usertype.javaZone">UTC</property> 

</session-factory> 

बाहर कर देता है मैं वास्तव में संदर्भित किया गया था गलती से UserType लाइब्रेरी का एक पुराना संस्करण, जो उन गुणों का समर्थन नहीं करता था। डी 'ओह!

0

उन सेटिंग्स को आपके persistence.xml में जाना होगा।

एक उदाहरण दिखाया गया है here

+0

धन्यवाद, लेकिन दुर्भाग्य से मेरे पास persistence.xml फ़ाइल नहीं है; प्रोजेक्ट में मैं काम कर रहा हूं कि स्प्रिंग द्वारा प्रबंधित 'सत्र-फैक्ट्री' बीन में इन सभी गुणों को कॉन्फ़िगर किया गया है। हालांकि विकल्प जानने के लिए अच्छा है। –