जेपीए और हाइबरनेट के साथ यूटीसी समय क्षेत्र में दिनांक/समय संग्रहीत करना
अपने जेपीए में दिनांक और समय को संभालते समय समय क्षेत्र की विसंगतियों के बारे में चिंतित/ अनुप्रयोगों को हाइबरनेट करें? यह आलेख बताता है कि विभिन्न समय क्षेत्रों में लगातार और सटीक हैंडलिंग सुनिश्चित करते हुए यूटीसी (जीएमटी) समय क्षेत्र में अस्थायी डेटा को प्रभावी ढंग से कैसे संग्रहीत और पुनर्प्राप्त किया जाए।
नीचे एनोटेटेड जेपीए इकाई पर विचार करें:
public class Event {
@Id
public int id;
@Temporal(TemporalType.TIMESTAMP)
public java.util.Date date;
}
यह सुनिश्चित करने के लिए कि संग्रहीत तिथि यूटीसी समय को दर्शाती है:
समाधान:
हाइबरनेट 5.2 के बाद से, यूटीसी समय क्षेत्र को कॉन्फ़िगर करना सरल हो गया है। अपनी JPA कॉन्फ़िगरेशन फ़ाइल (properties.xml) में निम्नलिखित प्रॉपर्टी जोड़कर:
या स्प्रिंग बूट अनुप्रयोगों के लिए, इस प्रॉपर्टी को जोड़ना application.properties:
spring.jpa.properties.hibernate.jdbc.time_zone=UTC
यह कॉन्फ़िगरेशन सुनिश्चित करता है कि सभी अस्थायी डेटा UTC समय क्षेत्र में संग्रहीत और पुनर्प्राप्त किया जाता है। उदाहरण के लिए, दिनांक 2008-फरवरी-03 9:30 पूर्वाह्न प्रशांत मानक समय (पीएसटी) को डेटाबेस में 2008-फरवरी-03 5:30 अपराह्न यूटीसी के रूप में संग्रहीत किया जाएगा और पुनर्प्राप्त होने पर इसकी व्याख्या की जाएगी।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3