منصوبے کے بارے میں
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 3 اور 4 کے لیے Spring Boot انٹیگریشن اسٹارٹرز، نیز 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.