ORM
مقدمه
در دو فاز گذشته، به یادگیری زبان sql و سپس آشنایی با JDBC که ابزاری برای اتصال به پایگاه داده در زبان جاوا بود پرداختیم و معماری دیتابیس یک پیامرسان را پیادهسازی و تحلیل کردیم. تصور کنید که بخواهید به ازای هر بار کار کردن با دیتابیس، مشابه شیوههای فوق عمل کنید، در هر بار باید حجم بالایی کوئری به زبان sql بنویسید و آن را با کمک JDBC وارد زبان جاوا کنید.
منطقیه؟
چندی بعد، پروژه دیگری را شروع میکنید و دوباره همان مراحل را تکرار میکنید. احتمالا حدس زدهاید که این فرایند طولانی چندان منطقی نیست و باید راهکار سریعتر و سادهتری برای این کار وجود داشته باشد!
دشواری نداریم که …
اگر موضوع الگوهای طراحی را به خاطر داشته باشید، بیان شد که این الگوها، پاسخهای آزموده شده برای مسائل تکرارشونده هستند. خوشبختانه، برای مشکلی که پیشتر بیان کردیم نیز یک الگوی طراحی وجود دارد!
برای آشنایی با این الگو میتوانید به وبسایت Martic Fawler (یکی از مهندسی نرمافزار برجسته در دنیا) مراجعه کنید.
این الگو، زیربنای ایجاد مفهوم ORM ها یا همان Object Relational Mapping میباشد. در اینجا میتوانید درباره این موضوع بیشتر بدانید.
آب در کوزه و ما تشنه لبان میگشتیم …
حالا که با این موضوع آشنا شدیم میخواهیم به بررسی یکی از انواع ORM های معروف در زبان java بپردازیم. همانطور که احتمالا در سایتهای گذشته مشاهده کردید، Hibernate یکی از آنهاست. برای آشنایی با این موضوع و نحوه استفاده از آن در زبان جاوا این ویدیو را مشاهده کنید!
یکی از نکاتی که در فیلم نیز به آن اشاره شد، تفاوت JPA با Hibernate و یا دیگر ORM های زبان جاوا است که اغلب برداشت اشتباهی از آنها میشود. برای فهم بهتر این موضوع پیشنهاد میشود این مقاله را درباره JPA بخوانید.
تمرین
حال سعی کنید همان کاری که در فاز قبلی انجام دادهاید را به کمک Hibernate پیادهسازی کنید.