জেপিএ এবং হাইবারনেটের মধ্যে পার্থক্য

Anonim

জেপিএ বনাম হাইবারনেট

প্রায় সবকটি এন্টারপ্রাইজ অ্যাপ্লিকেশনগুলি নিয়মিত রিটেলেশনাল ডেটাবেস অ্যাক্সেস করতে হবে। কিন্তু আগের প্রযুক্তিগুলি (যেমন জেডিবিসি হিসাবে) একটি সমস্যা ছিল যা প্রতিবন্ধকতা (বস্তু ভিত্তিক এবং সম্পর্কীয় প্রযুক্তির মধ্যে পার্থক্য) ছিল। এই সমস্যার সমাধানটি প্রিসিসিস্ট লেয়ার নামক একটি বিমূর্ত লেয়ার প্রবর্তনের মাধ্যমে চালু করা হয়েছিল, যা ব্যবসার লজিক থেকে ডাটাবেস অ্যাক্সেস এনক্যাপসেট করে। জেপিএ (জাভা পার্সিস্টেন্স এপিআই) হল একটি কাঠামো যা জাভা অ্যাপ্লিকেশনগুলির মধ্যে রিলেশনাল ডেটা পরিচালনার (স্থায়িত্ব স্তর ব্যবহার করে) পরিচালনার জন্য নিবেদিত। জাভা ডেভেলপার সম্প্রদায়ের মধ্যে ব্যবহৃত JPA এর অনেক বিক্রেতার প্রয়োগ আছে। হাইবারনেট জেপিএ (ডেটা নিউক্লিয়াস, ইলিপস লিংক ও ওপজ পিএপিএ) অন্যতম জনপ্রিয় এই ধরনের প্রয়োগ। নতুন JPA সংস্করণ (JPA 2. 0) সম্পূর্ণভাবে হাইবারনেট 3 দ্বারা সমর্থিত। 5, যা মার্চ, 2010 সালে মুক্তি পায়।

জেপিএ কি?

জেপিএ জাভা জন্য রিলেশনাল ডেটা পরিচালনার জন্য একটি কাঠামো এটি JSE (জাভা প্ল্যাটফর্ম, স্ট্যান্ডার্ড এডিশন) বা JEE (জাভা প্ল্যাটফর্ম, এন্টারপ্রাইজ এডিশন) ব্যবহার করে অ্যাপ্লিকেশনগুলির সাথে ব্যবহার করা যেতে পারে। এর বর্তমান সংস্করণ JPA 2. 0, যা 10 ডিসেম্বর, 2009 এ মুক্তি পায়। JPA EJB প্রতিস্থাপিত 2. 0 এবং EJB 1. 1 সত্তা মটরশুটি (যা জাভা ডেভেলপার সম্প্রদায় দ্বারা হেভিওয়েট হতে ব্যাপকভাবে সমালোচিত ছিল) যদিও সত্তা মটরশুটি (ইজেবি) আস্থা বস্তু সরবরাহ করে, অনেক ডেভেলপাররা ডিএএ (ডেটা অ্যাক্সেস অবজেক্টস) এবং অন্যান্য অনুরূপ কাঠামোর পরিবর্তে অপেক্ষাকৃত লাইটওয়েট বস্তুগুলি ব্যবহার করার জন্য ব্যবহৃত হয়। ফলস্বরূপ, জেপিএ চালু করা হয়েছিল, এবং উপরে উল্লিখিত কাঠামোগুলির বেশ কয়েকটি সুশৃঙ্খল বৈশিষ্ট্যগুলি দখল করে নিয়েছে।

JPA বর্ণিত হিসাবে অধ্যবসায় রিলেশনাল বস্তুর জন্য API (জাভ্যাক্স দৃঢ়ভাবে সংজ্ঞায়িত), JPQL (জাভা প্ল্যাটফর্ম, এন্টারপ্রাইজ সংস্করণ) এবং মেটাডেটা অন্তর্ভুক্ত করে। একটি দৃঢ়তা সত্তা স্টেট সাধারণত একটি টেবিল মধ্যে চলতে থাকে। একটি সত্তা এর ইনস্ট্যান্স রিলেশনাল ডাটাবেস টেবিলের সারি অনুরূপ। সংস্থার মধ্যে সম্পর্ক প্রকাশ করতে মেটাডেটা ব্যবহার করা হয় এন্টোটেশন বা পৃথক এক্সএমএল ডিস্ক্রিপ্টার ফাইলগুলি (অ্যাপ্লিকেশনের সাথে নিযুক্ত করা হয়) সত্তা শ্রেণীর মেটাডেটা নির্দিষ্ট করার জন্য ব্যবহৃত হয়। JPQL, যা SQL ক্যোয়ারীগুলির অনুরূপ, সঞ্চিত সংস্থাকে ক্যোয়ারী করার জন্য ব্যবহৃত হয়।

হাইবারনেট কি?

হাইবারনেট একটি কাঠামো যা জাভা প্রোগ্রামিং ল্যাঙ্গুয়েজের উদ্দেশ্যে বস্তুর সম্পর্কীয় ম্যাপিংয়ের জন্য ব্যবহার করা যেতে পারে। আরো বিশেষভাবে, এটি একটি ORM (অবজেক্ট-রিলেশনাল ম্যাপিং) লাইব্রেরি যা প্রচলিত সম্পর্কীয় মডেলের মধ্যে বস্তুগত সম্পর্কযুক্ত মডেলকে ম্যাপ করতে ব্যবহার করা যেতে পারে। সহজে, এটি জাভা ক্লাস এবং রিলেশনাল ডাটাবেসে টেবিলের মধ্যে একটি ম্যাপিং তৈরী করে, জাভা থেকে এসকিউএল ডেটা টাইপের মধ্যে। এসকিউএল কলগুলি তৈরি করে তথ্য অনুসন্ধান এবং পুনরুদ্ধারের জন্য হাইবারনেট ব্যবহার করা যেতে পারে।অতএব, প্রোগ্রামার ফলাফল সেট ম্যানুয়াল হ্যান্ডলিং এবং অবজেক্টস রূপান্তর থেকে অব্যাহতিপ্রাপ্ত। জিএনইউ লাইসেন্সের অধীনে বিতরণ একটি মুক্ত ও ওপেন সোর্স ফ্রেমওয়ার্ক হিসাবে হাইবারনেট মুক্তি হয়। জেপিএ API- র জন্য একটি বাস্তবায়ন হাইবারনেট 3 এ উপলব্ধ করা হয়। 2 এবং পরবর্তী সংস্করণগুলি। গেভিন কিং হাইবারনেটের প্রতিষ্ঠাতা।

জেপিএ জাভা অ্যাপ্লিকেশনে রিলেশনাল ডেটা পরিচালনার জন্য একটি কাঠামো, যখন হাইবারনেট হল একটি পিপিএ (যেমন আদর্শগতভাবে JPA এবং সিলেক্ট করা যায় না সরাসরি)। অন্য কথায়, হাইবারনেট হচ্ছে সর্বাধিক জনপ্রিয় কাঠামো যা JPA প্রয়োগ করে। হাইবারনেট হাইবারনেট এনোটেশন এবং এনটটিমাইজার লাইব্রেরির মাধ্যমে JPA প্রয়োগ করে যা হাইবারনেট কোর লাইব্রেরির উপরে প্রয়োগ করা হয়। উভয় এনট্টিটি ম্যানেজার এবং টীকাগুলি হাইবারনেটের জীবনচক্র অনুসরণ করে। নতুন JPA সংস্করণ (JPA 2. 0) সম্পূর্ণভাবে হাইবারনেট 3 দ্বারা সমর্থিত। 5. JPA একটি ইন্টারফেস যা মানসম্পন্ন হওয়ার সুবিধা রয়েছে, তাই ডেভেলপার সম্প্রদায় হাইবারনেটের চেয়ে এর সাথে আরো পরিচিত হবে। অন্য দিকে, নেটিভ হাইবারনেট API গুলি আরো শক্তিশালী বলে বিবেচিত হতে পারে কারণ এর বৈশিষ্ট্যসমূহ JPA এর একটি সুপারসেট।