پرش به محتوای اصلی
مسیر تخصصی جاوا و Spring
درخواست پروژهارتباط با ماراهنما
جاواپرو v1.2.8یاد بگیر، تمرین کن، حرفه‌ای بساز
خانهدوره‌هاآموزش رایگانوبلاگمدرس‌هاخدمات
خانهJPA چیست و چه کاربردی در زبان جاوا دارد؟
وبلاگ »

JPA چیست و چه کاربردی در زبان جاوا دارد؟

در این مطلب با یکی از مهم ترین بحث سازمانی زبان جاوا اشنا می شوید

۱۰ دقیقه مطالعهوبلاگ »آموزش جاوا و انجام پروژه های برنامه نویسی
JPA چیست و چه کاربردی در زبان جاوا دارد؟
محتوای منتخب جاواپرو

خلاصه مطلب

در این مطلب با یکی از مهم ترین بحث سازمانی زبان جاوا اشنا می شوید
نوع محتوامقاله آموزشی
موضوعوبلاگ »
زمان مطالعه۱۰ دقیقه
آخرین ویرایش۱۷ مهر ۱۴۰۰
کاربرد JPA در زبان برنامه نویسی جاوا چیست؟
کاربرد JPA در زبان برنامه نویسی جاوا چیست؟
مباحث پرکاربرد و مهم زبان جاوا رو به صورت رایگان آموزش ببین
مباحث پرکاربرد و مهم زبان جاوا رو به صورت رایگان آموزش ببین

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

JPA چیست و چه کاربردی در زبان جاوا دارد؟ استاندارد Java ORM برای ذخیره ، دسترسی و مدیریت اشیا Java جاوا در یک پایگاه داده رابطه ای به عنوان یک مشخصه ، Java Persistence API مربوط به پایداری است ، که بی قاعده به معنای هر مکانیزمی است که توسط آن اشیا جاوا فرآیند برنامه را ایجاد می کنند. لازم نیست که همه اشیا جاوا ماندگار شوند ، اما اکثر برنامه ها اشیا کلیدی تجاری را ادامه می دهند. مشخصات JPA به شما امکان می دهد مشخص کنید کدام یک از اشیا باید باقی بمانند و این اشیا چگونه باید در برنامه های جاوای شما باقی بمانند.

JPA به خودی خود یک ابزار یا چارچوب نیست. بلکه مجموعه ای از مفاهیم را تعریف می کند که می تواند توسط هر ابزار یا چارچوبی پیاده سازی شود. در حالی که مدل نقشه برداری شیء-رابطه ای JPA در اصل مبتنی بر Hibernate بود ، از آن زمان تکامل یافته است. به همین ترتیب ، در حالی که JPA در ابتدا برای استفاده با پایگاه داده های رابطه ای SQL در نظر گرفته شده بود ، برخی از پیاده سازی های JPA برای استفاده با مجموعه داده های NoSQL تمدید شده اند. یک چارچوب محبوب که از JPA با NoSQL پشتیبانی می کند EclipseLink است ، پیاده سازی مرجع برای JPA 2.2.

کجا می توان از JPA استفاده کرد؟ برای کاهش بار نوشتن کدهای مدیریت شی object رابطه ای ، یک برنامه نویس از چارچوب "JPA Provider" پیروی می کند ، که امکان تعامل آسان با نمونه پایگاه داده را فراهم می کند.

هر جاوا کاری این مبحث جاوا را باید بلد باشد
هر جاوا کاری این مبحث جاوا را باید بلد باشد

تعامل و چرخه در JPA

JPA و EJB همانطور که قبلاً اشاره شد ، JPA به عنوان زیرمجموعه ای از EJB 3.0 معرفی شد ، اما از آن زمان به بعد به عنوان مشخصات خاص خود تکامل یافت. EJB مشخصات با تمرکز متفاوت از JPA است ، و در یک ظرف EJB اجرا می شود. هر ظرف EJB شامل یک لایه ماندگاری است که توسط مشخصات JPA تعریف شده است.

جاوا ORM چیست؟ اگرچه در اجرا متفاوت هستند ، اما هر اجرای JPA نوعی لایه ORM را فراهم می کند. برای درک ابزارهای سازگار با JPA و JPA ، باید درک کاملی از ORM داشته باشید.

نقشه برداری شی-رابطه ای وظیفه ای است که توسعه دهندگان دلیل خوبی برای جلوگیری از انجام آن به صورت دستی دارند. چارچوبی مانند Hibernate ORM یا EclipseLink آن کار را در یک کتابخانه یا چارچوب ، یک لایه ORM کدگذاری می کند. به عنوان بخشی از معماری برنامه ، لایه ORM وظیفه مدیریت تبدیل اشیا software نرم افزاری برای تعامل با جداول و ستون ها را در یک پایگاه داده رابطه ای دارد. در جاوا ، لایه ORM کلاسها و اشیا جاوا را تبدیل می کند تا بتوان آنها را در یک پایگاه داده رابطه ای ذخیره و مدیریت کرد.

به طور پیش فرض ، نام شی object باقی مانده به عنوان جدول تبدیل می شود و فیلدها به ستون تبدیل می شوند. پس از تنظیم جدول ، هر ردیف جدول مربوط به یک شی در برنامه است. نگاشت اشیا قابل تنظیم است ، اما پیش فرض ها به خوبی کار می کنند.

پیکربندی لایه Java ORM وقتی پروژه جدیدی را برای استفاده از JPA راه اندازی می کنید ، باید Datastore و ارائه دهنده JPA را پیکربندی کنید. برای اتصال به پایگاه داده انتخابی خود SQL یا (NoSQL اتصال دهنده datastore) را پیکربندی خواهید کرد. شما همچنین ارائه دهنده JPA را که چارچوبی مانند Hibernate یا EclipseLink است ، گنجانده و پیکربندی کنید. اگرچه می توانید JPA را به صورت دستی پیکربندی کنید ، بسیاری از توسعه دهندگان تصمیم می گیرند از پشتیبانی خارج از جعبه Spring استفاده کنند. برای نمایش نصب و راه اندازی JPA دستی و Spring-based ، به "نصب و راه اندازی JPA" در زیر مراجعه کنید.

معماری ORM در زبان برنامه نویسی جاوا
معماری ORM در زبان برنامه نویسی جاوا

معماری ORM

ماندگاری داده ها در جاوا از منظر برنامه نویسی ، لایه ORM یک لایه آداپتور است: این زبان نمودارهای شی را با زبان SQL و جداول رابطه ای تطبیق می دهد. لایه ORM به توسعه دهندگان شی گرا اجازه می دهد تا نرم افزاری بسازند که بدون هیچ گونه ترک پارادایم شی گرا ، داده ها را پایدار نگه دارد.

هنگامی که از JPA استفاده می کنید ، یک نقشه از datastore به اشیا model مدل داده برنامه خود ایجاد می کنید. شما به جای تعریف نحوه ذخیره و بازیابی اشیا ، نگاشت بین اشیا and و پایگاه داده خود را تعریف می کنید ، سپس JPA را فرا می خوانید تا ادامه یابد. اگر از یک پایگاه داده رابطه ای استفاده می کنید ، بسیاری از ارتباطات واقعی بین کد برنامه شما و پایگاه داده توسط JDBC ، Java database Connection API انجام می شود.

به عنوان یک مشخصه ، JPA حاشیه نویسی فراداده را ارائه می دهد ، که برای تعریف نگاشت بین اشیا and و پایگاه داده از آنها استفاده می کنید. هر اجرای JPA موتور مخصوص خود را برای حاشیه نویسی JPA فراهم می کند. مشخصات JPA همچنین PersistenceManager یا EntityManager را فراهم می کند ، که نقاط اصلی تماس با سیستم JPA هستند (در اینجا کد منطق کسب و کار شما به سیستم می گوید که با اشیا ma نقشه برداری شده چه کاری انجام دهد).

برای ملموس کردن همه این موارد ، لیست 1 را در نظر بگیرید که یک کلاس داده ساده برای مدل سازی یک نوازنده است.

لیست 1. یک کلاس داده ساده در جاوا

public class Musician {
private Long id;
private String name;
private Instrument mainInstrument;
private ArrayList performances = new ArrayList<Performance>();
public Musician( Long id, String name){ * constructor setters... * }
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setMainInstrument(Instrument instr){
this.instrument = instr;
}
public Instrument getMainInstrument(){
return this.instrument;
}
...Other getters and setters...
}

کلاس Musician در لیست 1 برای نگهداری داده ها استفاده می شود. این می تواند شامل داده های ابتدایی مانند قسمت نام باشد. همچنین می تواند با کلاس های دیگر مانند main Instrument و اجرا ارتباط برقرار کند.دلیل وجود موسیقیدان ، داشتن داده است. این نوع کلاس گاهی اوقات به عنوان DTO یا انتقال داده شناخته می شود. DTO از ویژگی های مشترک توسعه نرم افزار است. در حالی که آنها انواع مختلفی از داده ها را در اختیار دارند ، اما هیچ منطق تجاری ندارند. دوام اشیا data داده ای یک چالش فراگیر در توسعه نرم افزار است.

حاشیه نویسی فراداده در JPA جادوی موجود در لیست 3 نتیجه پیکربندی است که با استفاده از حاشیه نویسی JPA ایجاد می شود. توسعه دهندگان از حاشیه نویسی برای اطلاع دادن به JPA برای اینکه کدام یک از اشیا باید باقی بمانند و چگونه باید بقای آنها استفاده کنند استفاده می کنند. لیست 4 کلاس نوازندگان را با یک حاشیه نویسی JPA نشان می دهد.

لیست 4. حاشیه نویسی Entity annotation@

@Entity
public class Musician {  ..class body}

اشیا Pers ماندگار را گاه موجودی می نامند. پیوستن Entity به کلاسی مانند Musician به JPA اطلاع می دهد که این کلاس و اشیا آن باید ادامه یابد. پیکربندی مبتنی بر حاشیه نویسی XML در مقابل JPA همچنین از فایلهای خارجی XML به جای حاشیه نویسی برای تعریف فراداده های کلاس پشتیبانی می کند.

پیکربندی JPA مانند اکثر چارچوبهای مدرن ، JPA از برنامه نویسی طبق قرارداد استفاده می کند (همچنین به عنوان Convention over Configuration نیز شناخته می شود) ، که در آن چارچوب پیکربندی پیش فرض را بر اساس بهترین روشهای صنعت فراهم می کند.

چرخه حیات JPA در زبان برنامه نویسی جاوا
چرخه حیات JPA در زبان برنامه نویسی جاوا

پیکربندی JPA

پیکربندی متداول صرفه جویی در زمان است و در بسیاری از موارد به اندازه کافی خوب کار می کند. همچنین امکان تنظیم پیکربندی JPA شما وجود دارد. به عنوان مثال ، می توانید از جدول حاوی table@ JPA برای تعیین جدولی که کلاس Musician باید در آن ذخیره شود استفاده کنید.

معرفی فریمورک های سازمانی زبان برنامه نویسی جاوا
معرفی فریمورک های سازمانی زبان برنامه نویسی جاوا

جایگاه JPA در برنامه های کاربردی

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

JPA چه کاربردی در زبان جاوا دارد؟ Java Persistence API (JPA) یکی از روشهای ممکن برای ORM است. از طریق JPA توسعه دهنده می تواند نقشه ها ، ذخیره ، به روز رسانی و بازیابی اطلاعات را از پایگاه داده های رابطه ای به اشیا جاوا و بالعکس انجام دهد. JPA می تواند در برنامه های Java-EE و Java-SE استفاده شود. JPA یک مشخصات است و چندین پیاده سازی در دسترس است.

جایگاه JPA در برنامه های کاربردی
جایگاه JPA در برنامه های کاربردی

دسترسی به پایگاه داده JPA

نتیجه هر برنامه ای که با یک پایگاه داده سروکار دارد باید یک لایه برنامه را تعریف کند که تنها هدف آن جدا کردن کد ماندگاری است. Java Persistence API طیف وسیعی از قابلیت ها و پشتیبانی از ماندگاری شی جاوا را معرفی می کند. برنامه های ساده ممکن است به تمام قابلیت های JPA نیازی نداشته باشند ، و در بعضی موارد سربار پیکربندی چارچوب شایسته نیست. با رشد یک برنامه کاربردی ، ساختار و کپسول سازی JPA واقعاً باعث نگهداری آنها می شود. استفاده از JPA کد شی object شما را ساده نگه می دارد و یک چارچوب معمول برای دسترسی به داده ها در برنامه های جاوا را فراهم می کند.

برچسب‌هاوبلاگ »مقالات جاوا »آموزش JPAبرنامه نویسی JPAJPA چیستکاربرد JPAکاربرد JPA در جاواآموزش ORMجاواJAVAزبان جاوافریمورک های جاوافریمورک های زبان جاواآموزش سازمانی جاوا
ادامه مسیر

پیشنهاد جاواپرو

موضوع را با آموزش‌های مرتبط ادامه دهید و نکته‌های کاربردی را در مسیر خود نگه دارید

مشاهده دوره‌ها
مطالب پیشنهادی

ادامه مطالعه

xدسته‌بندی نشده
۱۱ دی ۱۳۹۸ مطالعه کوتاه

x

پادکست شماره 3 – راه های کسب درآمد از برنامه نویسی

مطالعه مطلب
پادکست شماره 3 - راه های کسب درآمد از برنامه نویسیپادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 3 - راه های کسب درآمد از برنامه نویسی

در این پادکست برنامه نویسی به شیوه ها و راه های کسب درآمد از برنامه نویسی پرداخته ایم. یک کاغذ و قلم بردارید و به پادکست گوش بدید.

مطالعه مطلب
پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟پادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟

در این پادکست برنامه نویسی یاد میگیریم که چگونه وارد فضای برنامه نویسی شویم و تخصص برنامه نویسی را به دست آوریم.

مطالعه مطلب
جاواپرومرجع تخصصی یادگیری و توسعهٔ جاوا

تجربه‌ای منظم، ساده و حرفه‌ای برای یادگیری عمیق جاوا، Spring و مهندسی نرم‌افزار؛ قابل استفاده در موبایل، تبلت و دسکتاپ

یادگیری

همه دوره‌هاآموزش رایگانمسیر یادگیریمدرس‌ها

جاواپرو

درباره ماخدمات تخصصیدرخواست پروژهبلاگ فنی

پشتیبانی

تماس با ماپرسش‌های متداولقوانین و حریم خصوصیبروزرسانی‌های جاواپروثبت تیکت
خرید امنپرداخت فقط در درگاه رسمیپشتیبانی آموزشیمسیر ارتباط شفاف و پیگیری‌پذیردسترسی پایداروب‌اپ واکنش‌گرا روی همه دستگاه‌ها
© ۱۴۰۵ جاواپرو؛ همه حقوق محفوظ استتوسعه توسط پایاپینگ
خانهدوره‌هاسبد