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

Anonim

JDBC বনাম হাইবারনেট

জাভা ডেটাবেস কানেক্টিভিটি (এছাড়াও JDBC নামে পরিচিত) একটি API বিশেষভাবে জাভা প্রোগ্রামিং ভাষা । এটা একটি ক্লায়েন্ট একটি ডাটাবেসের মধ্যে তথ্য অনুসন্ধান এবং আপডেট করার পদ্ধতি প্রদান করে একটি ডাটাবেস অ্যাক্সেস করতে সক্ষম কিভাবে সংজ্ঞায়িত করে। এটি রিলেশনাল ডেটাবেস সম্পর্কে আরো বিশেষভাবে ভিত্তিক। এটি প্রথম জাভা প্ল্যাটফর্ম, স্ট্যান্ডার্ড সংস্করণ, সংস্করণ 1. 1 (বা J2SE) এর অংশ হিসাবে বাজারে চালু করা হয়েছিল। এটি একটি রেডিয়েন্সের সাথে JDBC ODBC সেতুতে একত্রিত করা হয়েছিল, যা API- এর সাথে JVM হোস্ট পরিবেশে কোনও ODBC অ্যাক্সেসযোগ্য ডেটা উৎসের সাথে সংযোগ স্থাপন করতে সক্ষম।

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

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

হাইবারনেট প্রাথমিকভাবে জাভা ক্লাস থেকে ডাটাবেস টেবিলে ম্যাপ করার পাশাপাশি জাভা ডেটা টাইপ থেকে এসকিউএল ডাটা টাইপগুলিতে কাজ করে। এটি তথ্য ক্যোয়ারী ও পুনরুদ্ধারের সুবিধা প্রদান করে। এটি এসকিউএল কল তৈরি করতে সক্ষম, এইভাবে ম্যানুয়াল ফলাফল সেট হ্যান্ডলিং এবং বস্তু রূপান্তর থেকে বিকাশকারী relieving। এটি লাইব্রেরির মাধ্যমে সমর্থিত সমস্ত এসকিউএল ডেটাবেসগুলিতে পোর্টেবল অ্যাপ্লিকেশনটি রাখে। এটি জাভা ক্লাসসমূহকে এক্সএমএল ফাইল কনফিগার করার মাধ্যমে ডাটাবেস টেবিলে মানচিত্র (যা হাইবারনেটটি দৃঢ়তা ক্লাসের জন্য কঙ্কাল উত্স কোড তৈরি করতে সক্ষম) বা জাভা এনাটেশন ব্যবহার করে (যা প্রাক্তন অ্যাকশন নিবারণ করে) ব্যবহার করে। হাইবারনেট কাস্টম মান টাইপের ম্যাপিং সমর্থন করে, যা তিনটি নির্দিষ্ট দৃশ্যকল্পকে সম্ভব করে তোলে: ডিফল্ট এসকিউএল টাইপের উপর নির্ভর করে; জাভা Enum ম্যাপিং কলাম যেমন তারা নিয়মিত বৈশিষ্ট্য ছিল; এবং একক সম্পত্তি একাধিক কলামের ম্যাপিং।

সংক্ষিপ্ত বিবরণ:

1 JDBC একটি API যা একটি ক্লায়েন্ট ডাটাবেস অ্যাক্সেস করতে পারে তা সংজ্ঞায়িত করে; হাইবারনেট একটি ORM লাইব্রেরি যা প্রথাগত রিলেশনাল ডেটাবেসকে একটি বস্তু ভিত্তিক ডোমেন মডেলের মানচিত্রের জন্য একটি ফ্রেমওয়ার্ক প্রদান করে।

2। JDBC বিভিন্ন প্রয়োগ বিদ্যমান এবং একই অ্যাপ্লিকেশন দ্বারা ব্যবহৃত; ডাটাবেস টেবিলের জন্য জাভা ক্লাস থেকে মানচিত্র হাইবারনেট।