آموزش هایبرنیت در جاوا - درس پنجم - مفهوم JPA
Hibernate بازدید : 1179 سه شنبه ۷ دی ۱۳۹۵

Java Persistence API یا به اختصار JPA همانطور که از عنوانش پیداست مجموعه ای از کلاس ها و متود ها (البته بدنه خالی از کلاس ها یعنی Interface) میباشد که برای ذخیره اطلاعات در پایگاه داده، بازخوانی این اطلاعات، بروز رسانی و .... اعمالی از این قبیل تحت عنوان اعمال Persistence استفاده میشود که توسط شرکت اوراکل ایجاد شده است. بصورت خیلی ساده تر این API ها یا Application Programming Interface، یک استانداردیست که شرکت اوراکل برای مدیریت اطلاعات در پایگاه داده ایجاد کرده است.

اما رابطه آن با هایبرنیت چیست؟

اگر بخواهیم به تاریخچه پیدایش آن اشاره کنیم، بعد از اینکه نسخه های آزمایشی هایبرنیت ایجاد شد شرکت اوراکل از ایده هایبرنیت برای مدیریت DB استفاده کرد و یک استانداردی تحت عنوان JPA را معرفی کرد. در سال 2006 اولین نسخه نهایی یعنی نسخه یک را ارائه کرد. در حالیکه پیدایش نسخه اولیه هایبرنیت به سال 2003 بر میگردد.

JPA صرفا شامل یک سری Interface و متود هایی میباشد. می دانیم در زبان جاوا Interface ها بدنه خالی کلاس  هستند و احتیاج به پیاده سازی کلاس هایشان را دارند. شرکت هایی مثل Oracle, Red hat, Eclipse  برای این استاندارد پیاده سازی های خاصی را ارائه کرده اند. مانند: Hibernate, Eclipselink, Toplink

ما در پروژه های خود میتوانیم استاندارد JPA را رعایت کنیم یا اینکه از استاندارد های هایبرنیت استفاده کنیم.

بصورت دقیق تر JPA یکSpecification  است که نیاز به یک Provider یا implementation  دارد. یکی دیگر از ORM های زبان جاوا Eclipslink میباشد. که به عنوان پیاده ساز مرجع JPA شناخته میشود. چرا؟ هایبرنیت میتواند بدون استفاده از JPA هم اعمال Persistence  را اجرا کند و اتفاقا یک سری متودها و قابلیت های اضافه بر استاندارد JPA دارد. محبوبیت و قدرت هایبرنیت هم بر اساس این قابلیت ها شناخته میشود. اما Eclipselink صرفا به پیاده سازی API های JPA ختم میشود و به عنوان مرجع شناخته میشود. ممکن است مفاهیم در اینجا کمی گیج کننده باشد ولی اگر درس های آینده ما را دنبال کنید قطعا متوجه خواهید شد.

مسلما ما در مثال هایی که بررسی میکنیم هم استاندارد JPA را استفاده میکنیم و هم بعضا ممکن است فقط از API های خاص هایبرنیت هم استفاده کنیم.



در ادامه با ما همراه باشید.



 



 







نوشتن دیدگاه