इस प्रोजेक्ट के बारे में
Exposed एक आधिकारिक JetBrains प्रोजेक्ट है जो Kotlin प्रोग्रामिंग भाषा के लिए एक हल्का SQL लाइब्रेरी और ORM फ्रेमवर्क प्रदान करता है। डेटाबेस कनेक्टिविटी ड्राइवरों के ऊपर निर्मित, यह JDBC और R2DBC (संस्करण 1.0.0 से) दोनों ड्राइवरों का समर्थन करता है, और डेटाबेस एक्सेस के लिए दो अलग-अलग दृष्टिकोण प्रदान करता है: एक टाइपसेफ SQL-रैपिंग डोमेन-विशिष्ट भाषा (DSL) और एक हल्का डेटा एक्सेस ऑब्जेक्ट (DAO) API।
प्रोजेक्ट का मास्कॉट कटलफ़िश है, जिसे विभिन्न पर्यावरणों की नकल करने की क्षमता के कारण चुना गया है—जैसे Exposed विभिन्न डेटाबेस इंजनों के अनुकूल हो सकता है, जिससे डेवलपर्स बिना किसी विशिष्ट डेटाबेस पर निर्भर हुए एप्लिकेशन बना सकते हैं और न्यूनतम बदलावों के साथ उनके बीच स्विच कर सकते हैं।
समर्थित डेटाबेस में H2 (2.x), MariaDB, MySQL, Oracle, PostgreSQL (pgjdbc-ng सहित), Amazon Redshift (केवल JDBC), Microsoft SQL Server, और SQLite शामिल हैं।
फ़्रेमवर्क को कोर मॉड्यूल में व्यवस्थित किया गया है: exposed-core बुनियादी घटक और DSL API प्रदान करता है; exposed-dao (वैकल्पिक) DAO API सक्षम करता है और केवल exposed-jdbc के साथ संगत है; exposed-jdbc JDBC ट्रांसपोर्ट-लेवल इम्प्लीमेंटेशन प्रदान करता है; और exposed-r2dbc रिएक्टिव रिलेशनल डेटाबेस कनेक्टिविटी समर्थन प्रदान करता है।
एक्सटेंशन मॉड्यूल अतिरिक्त कार्यक्षमता को कवर करते हैं, जैसे एन्क्रिप्टेड डेटा स्टोरेज (exposed-crypt), Java 8 Time API, Joda-Time, और kotlinx-datetime के माध्यम से डेट-टाइम हैंडलिंग, JSON/JSONB डेटा टाइप (exposed-json), मौद्रिक राशि (exposed-money), डेटाबेस स्कीमा माइग्रेशन (exposed-migration-core, exposed-migration-jdbc, exposed-migration-r2dbc), और Spring Boot इंटीग्रेशन स्टार्टर Spring Boot 3 और 4 के लिए, साथ ही Spring Framework ट्रांज़ैक्शन मैनेजर्स।
आवश्यकताएँ शामिल हैं Kotlin 2.2+ और अधिकांश मॉड्यूल के लिए JDK 8+, जबकि R2DBC-संबंधित मॉड्यूल के लिए JDK 11+ और Spring-संबंधित मॉड्यूल और exposed-crypt के लिए JDK 17+ आवश्यक है।
DSL दृष्टिकोण डेवलपर्स को टेबल को Kotlin ऑब्जेक्ट्स के रूप में टाइप्ड कॉलम के साथ परिभाषित करने, CRUD ऑपरेशन्स करने, जॉइन्स निष्पादित करने, SQL फ़ंक्शन्स उपयोग करने और ग्रुप-बाय क्लॉज़ लागू करने की अनुमति देता है—सभी कंपाइल-टाइम टाइप सुरक्षा के साथ। DAO दृष्टिकोण एंटिटी क्लासेज़ को क्वेरी करने के लिए कंपैनियन ऑब्जेक्ट्स के साथ प्रदान करता है, जिससे लेज़ी-लोडेड रिलेशनशिप्स और रेफ़रर्स का समर्थन मिलता है।
रिलीज़ Maven Central पर org.jetbrains.exposed नेमस्पेस के तहत उपलब्ध हैं। प्रोजेक्ट Apache License 2.0 के तहत लाइसेंस प्राप्त है और JetBrains YouTrack पर इश्यूज़ से जुड़े पुल रिक्वेस्ट्स के माध्यम से योगदान का स्वागत करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.