
CVE-2019-14900
Hibernate ORM एक लाइब्रेरी है जो अनुप्रयोगों, लाइब्रेरियों और फ्रेमवर्क्स को Object/Relational Mapping (ORM) समर्थन प्रदान करती है।
यह JPA विनिर्देश का कार्यान्वयन भी प्रदान करती है, जो ORM के लिए मानक Java विनिर्देश है।
यह इसके स्रोत कोड की रिपॉजिटरी है: अतिरिक्त जानकारी के लिए Hibernate.org देखें।
निर्माण के लिए JAVA_HOME के रूप में Java 8 JDK की आवश्यकता होती है।
स्रोत प्राप्त करने के लिए आपको Git की आवश्यकता होगी।
Hibernate अपने निर्माण उपकरण के रूप में Gradle का उपयोग करता है। यदि आप Gradle में नए हैं तो नीचे Gradle प्राइमर अनुभाग देखें।
योगदानकर्ताओं को योगदान मार्गदर्शिका पढ़ना चाहिए।
अपने विकास परिवेश के रूप में IntelliJ या Eclipse को स्थापित करने के लिए मार्गदर्शिकाएँ देखें।
Hibernate स्रोत पर काम शुरू करने के लिए CONTRIBUTING.md में आरंभ करना अनुभाग देखें।
Hibernate अपनी CI आवश्यकताओं के लिए Jenkins का उपयोग करता है। अपस्ट्रीम रिपॉजिटरी में प्रत्येक push पर परियोजना लगातार बनाई जाती है। कुल मिलाकर कुछ अलग-अलग jobs हैं, जिन्हें http://ci.hibernate.org/view/ORM/ पर देखा जा सकता है।
इस अनुभाग में कुछ बुनियादी बातों का वर्णन किया गया है जो Gradle में नए डेवलपर्स और योगदानकर्ताओं को जल्दी से उत्पादक बनने के लिए जानने की आवश्यकता हो सकती है। Gradle का दस्तावेज़ीकरण बहुत अच्छा है; विशेष रूप से 2 अपरिहार्य हैं:
उन योगदानकर्ताओं के लिए जो अन्यथा Gradle का उपयोग नहीं करते हैं और इसे स्थापित नहीं करना चाहते हैं, Gradle एक बहुत अच्छी सुविधा प्रदान करता है जिसे wrapper कहा जाता है। यह आपको पहले से स्थापित Gradle वितरण के बिना, शून्य-कॉन्फ़िगरेशन तरीके से Gradle निर्माण चलाने देता है। Hibernate आपके लिए Gradle wrapper कॉन्फ़िगर करता है। यदि आप wrapper का उपयोग करना चाहते हैं और Gradle स्थापित नहीं करना चाहते हैं (या यह सुनिश्चित करना चाहते हैं कि आप पुराने निर्माणों के लिए इच्छित Gradle संस्करण का उपयोग करें) तो निम्नलिखित चर्चाओं में आप gradle (या gradle.bat) के बजाय केवल gradlew (या gradlew.bat) कमांड का उपयोग करेंगे। ध्यान दें कि gradlew केवल परियोजना की root निर्देशिका में उपलब्ध है, इसलिए आपकी कार्यशील निर्देशिका के आधार पर आपको gradlew का पथ भी समायोजित करने की आवश्यकता हो सकती है।
उदाहरण gradle सिंटैक्स का उपयोग करते हैं, लेकिन यदि आप wrapper का उपयोग करना चाहते हैं तो gradle के स्थान पर gradlew (उचित रूप से relative) रखें।
gradlew का उपयोग करने का एक और कारण यह है कि यह Gradle के उस सटीक संस्करण का उपयोग करता है जिसके साथ निर्माण को काम करने के लिए परिभाषित किया गया है।
Gradle निर्माण कार्यों (build tasks) की अवधारणा का उपयोग करता है (Ant targets या Maven phases/goals के समतुल्य)। आप उपलब्ध कार्यों की सूची इस प्रकार प्राप्त कर सकते हैं:
gradle tasks
सभी मॉड्यूलों में एक कार्य निष्पादित करने के लिए, बस उस कार्य को root निर्देशिका से करें। Gradle प्रत्येक उप-परियोजना का दौरा करेगा और यदि उप-परियोजना उसे परिभाषित करती है तो उस कार्य को निष्पादित करेगा। किसी विशिष्ट मॉड्यूल में कार्य निष्पादित करने के लिए आप या तो:
cd करें और कार्य निष्पादित करेंgradle hibernate-core:test कह सकते हैंकिसी विशिष्ट डेटाबेस के विरुद्ध परीक्षण 2 अलग-अलग तरीकों से किया जा सकता है:
जल्द आ रहा है...
Hibernate निर्माण databases.gradle में कई डेटाबेस परीक्षण "profiles" परिभाषित करता है। इन profiles को db निर्माण गुण द्वारा नाम से सक्रिय किया जा सकता है, जिसे JVM सिस्टम prop (-D) या Gradle परियोजना गुण (-P) के रूप में पारित किया जा सकता है। नीचे दिए गए उदाहरण Gradle परियोजना गुण दृष्टिकोण का उपयोग करते हैं।
gradle clean build -Pdb=pgsql
अपने IDE से परीक्षण चलाने के लिए, आपको यह सुनिश्चित करना होगा कि गुण विस्तार हों। निम्न कमांड का उपयोग करें:
gradle clean compile -Pdb=pgsql
नोट: यदि आप किसी JDBC ड्राइवर के विरुद्ध परीक्षण चला रहे हैं जो Maven central के माध्यम से उपलब्ध नहीं है, तो इन ड्राइवरों को अपने स्थानीय Maven repo कैश (~/.m2/repository) में जोड़ना सुनिश्चित करें या (बेहतर) इसे एक व्यक्तिगत Maven repo सर्वर में जोड़ें
आप databases.gradle profile में कॉन्फ़िगर किए गए किसी भी विशेष डेटाबेस पर कोई भी परीक्षण चला सकते हैं।
आपको बस निम्न कमांड चलाना है:
gradlew setDataBase -Pdb=pgsql
या आप शॉर्टकट संस्करण का उपयोग कर सकते हैं:
gradlew sDB -Pdb=pgsql
आप इसे उस मॉड्यूल से कर सकते हैं जिसका आप परीक्षण करने में रुचि रखते हैं या hibernate-orm root फ़ोल्डर से।
उसके बाद, बस IDE से कोई भी परीक्षण चुनें और उसे हमेशा की तरह चलाएँ। Hibernate डेटाबेस कॉन्फ़िगरेशन को hibernate.properties फ़ाइल से लेगा जो setDataBase Gradle कार्य द्वारा सेट की गई थी।