تفاوت بین JPA و JDBC چیست؟


پاسخ 1:

JDBC یک ابزار استاندارد برای اتصال مستقیم به یک پایگاه داده و اجرای SQL است. به عنوان مثال ، از TableName و غیره * را انتخاب کنید. این می تواند پرونده هایی را که کاربر می تواند در برنامه خود پردازش کند ، برگرداند و آنها می توانند تمام کارهای معمول مانند به روزرسانی و حذف را انجام دهند این یکی از فن آوری های اساسی در پشت اکثر DBA های Java (از جمله ارائه دهندگان JPA) است.

مشکل عمده برنامه های JDBC سنتی این است که کاربران اغلب دارای کد خجالتی هستند که منطق را با SQL مخلوط می کند ، بسیاری از نگاشت ها بین سوابق و اشیاء و غیره وجود دارد.

JPA یک ابزار رسمی برای نقشه برداری از رابطه شی است. JPA یک فناوری است که به کاربران امکان می دهد تا اشیاء را در جداول کد و بانک اطلاعاتی ترسیم کنند. JPA می تواند SQL را از توسعه دهنده "پنهان کند" ، بنابراین همه چیز مربوط به کلاس های Java و ارائه دهنده این امکان را به شما می دهد تا آنها را از راه دور ذخیره و بارگیری کنید. در بیشتر مواقع می توان از پرونده های نقشه برداری XML یا یادداشت بر روی نویسندگان و گیرنده ها برای اطلاع رسانی به ارائه دهنده JPA استفاده کرد. کدام قسمت های موجود در شی کاربر به کدام قسمت های پایگاه داده اختصاص می یابد؟ خواب زمستانی محبوب ترین ارائه دهنده JPA است.

چند نمونه دیگر از جمله OpenJPA ، Topplink و غیره

Hibernate و سایر ارائه دهندگان محبوب JPA SQL را می نویسند و از JDBC برای خواندن و نوشتن از پایگاه داده استفاده می کنند.

خیلی ممنون.

اگر جواب من را دوست دارید ، پس موافقت کنید.


پاسخ 2:

درک یک تفاوت بین این دو اگر مبتدی باشید ، کمی پیچیده خواهد بود. فکر می کنم ابتدا باید تفاوت بین JDBC و Hibernate را درک کنید. امیدوارم JDBC را بدانید ، اما به عنوان توضیحی مختصر: JDBC مخفف Java Database Connectivity است. JDBC یک API جاوا برای اتصال و اجرای پرس و جو در برابر پایگاه داده است. این درایورها را برای اتصال به پایگاه داده فراهم می کند. برای دسترسی به داده های جدولی ذخیره شده در هر پایگاه داده رابطه می توانید از API JDBC استفاده کنید. با استفاده از API JDBC ، می توانیم داده را از پایگاه داده ذخیره ، به روز رسانی ، حذف و بازیابی کنیم.

خواب زمستانی الان چیست؟ برخلاف JDBC ، شما قبل از استفاده از آنها باید کتابخانه های Hibernate را وارد کنید ، در حالی که JDBC بخشی از خود J2SE است. Hibernate کاری را انجام می دهد که JDBC برای آن طراحی شده است ، اما می توانید بگویید که Hibernate یک سطح پیشرفته از JDBC است. خواب زمستانی توسعه یک برنامه جاوا برای تعامل با پایگاه داده را ساده می کند. این یک ابزار ORM است ، یعنی اشیاء جاوا را به جداول DB اختصاص می دهد. کلاس جاوا می تواند جدول db را نشان دهد. به عنوان مثال ، اگر جدول emp_26 را به عنوان کلاس Employee در Hibernate اختصاص داده اید ، یک سؤال شی گرا ساده بنویسید تا همه کارمندان را از جدول empl_26 بگیرید: "از Employee" // در Hibernate "از emp_26" // را انتخاب کنید JDBC

بسیاری از ویژگی هایی که Hibernate ارائه می دهد جهنم وجود دارد ، مانند حافظه پنهان ، نقشه برداری نقشه برداری ، نقشه ارث ، HQL ، صفحه بندی و موارد دیگر که در JDBC موجود نیست.

JPA مشخصات ، مجموعه ای از کلاس ها و رابط ها است. JPA برای پیاده سازی آن به ابزاری احتیاج دارد و می توان این ابزار را به خواب برد. با اجرای JPA می توانید همانند Hibernate را انجام دهید اما با فرمت JPA. اگر JPA رقص باشد ، Hibernate یا ابزار دیگری برای تهیه مرحله رقص مورد نیاز است. به هر حال ، این بدان معنا نیست که Hibernate نمی تواند بدون JPA رقص بخورد ، Hibernate نیز رقص مخصوص به خود را دارد.


پاسخ 3:

JDBC یک استاندارد برای اتصال مستقیم به یک پایگاه داده و در حال اجرا SQL است - به عنوان مثال. B. SELECT * از کاربران ، و غیره می تواند پرونده هایی را که می توانید در برنامه خود پردازش کنید ، برگرداند ، و شما می توانید تمام کارهای معمول مانند INSERT ، DELETE را انجام دهید. اجرای روشهای ذخیره شده و غیره. این یکی از فناوریهای اساسی برای دسترسی بیشتر به پایگاه داده جاوا (از جمله ارائه دهندگان JPA) است.

یكی از مشكلات برنامه های JDBC سنتی این است كه آنها معمولاً دارای كد شرتی هستند كه نقشهای زیادی بین سوابق و اشیاء ، منطق آمیخته با SQL و غیره دارد.

JPA یک استاندارد برای نقشه برداری از رابطه-رابطه است. این فناوری است که می توانید از آن برای نقشه برداری اشیاء در جداول کد و پایگاه داده استفاده کنید. این اجازه می دهد تا SQL از توسعه دهنده "پنهان" شود تا فقط کلاس های جاوا تحت پوشش قرار گیرند. ارائه دهنده اجازه می دهد تا آنها را ذخیره کرده و آنها را به طرز جادویی بارگیری کنید. در بیشتر موارد ، فایلهای نقشه برداری XML یا نظرات گیرنده و تنظیم کننده ها را می توان برای ارائه دهندگان JPA استفاده کرد تا زمینه های موجود در شیء شما در کدام زمینه ها در پایگاه داده نقشه برداری شود. بهترین ارائه دهنده JPA شناخته شده Hibernate است ، بنابراین این یک نقطه شروع خوب برای مثال های بتن است.

مثالهای دیگر OpenJPA ، Toplink و غیره است.