জেপিএ বা জেডিবিসি, তারা কীভাবে আলাদা?


119

আমি জাভা ইই শিখছি এবং এটির জন্য আমি গ্লাস ফিশ সহ গ্রহনটি ডাউনলোড করেছি। আমি কয়েকটি উদাহরণ দেখেছি এবং জাভা ইই 5 সম্পর্কে সমস্ত জানতে ওরাকল ডক্সও পড়েছি a. একটি ডাটাবেসের সাথে সংযোগ করা খুব সহজ ছিল। আমি একটি গতিশীল ওয়েব প্রকল্প খুললাম, একটি অধিবেশন ইজেবি তৈরি করেছি, আমি সত্ত্বা ব্যবস্থাপক ব্যবহার করেছি এবং প্রাপ্ত পদ্ধতির সাহায্যে সঞ্চিত ডেটা টেবিলটি অ্যাক্সেস করতে পারি।

আমার পরবর্তী প্রকল্পের জন্য আমি একটি সাধারণ ক্লাস তৈরি করেছি এবং তারপরে কিছু ডিবি টেবিল অ্যাক্সেস করেছি। প্রথম যে সমস্যার মুখোমুখি হয়েছিলাম তা হ'ল পার্সেস্টিউনিট অ্যাট্রিবিউটটি কেবল ইজেবি, সার্লেট ইত্যাদি দ্বারা স্বীকৃত হবে এবং সরল জাভা শ্রেণি নয়। সুতরাং আমি তখন অ্যান্টিটি ম্যানেজার উপায়টি ব্যবহার করতে পারি না (বা আমি পারি?)

আমাকে "জেডিবিসি" দিয়ে যেতে বলা হয়েছিল। আমি প্রথম যে সমস্যার মুখোমুখি হয়েছিলাম তা হ'ল ডিবি সংযোগ পেতে get মনে হচ্ছে এগুলিকে অবশ্যই হার্ডকোড করা উচিত। আমার একটি দৃ pers়তা.xml ছিল যা দিয়ে আমি সহজেই ডেটা বেস সংযোগটি কনফিগার করতে পারি। এমনকি ডিবি-র জন্য ড্রাইভার স্থাপন করাও সহজ ছিল। এছাড়াও সারণী সত্তাগুলি অ্যাক্সেসের জন্য জেডিবিসিতে কোনও গেট / সেট পদ্ধতি নেই।

জেডিবিসি সম্পর্কিত জেপিএ এবং অধ্যবসায় আমি কীভাবে বুঝতে পারি? জেপিএ কীসের জন্য চিন্তা করেছিল? কেন সেট আছে / পদ্ধতি আছে? কেউ কি এই দু'য়ের সারমর্মের উপর কিছু আলোকপাত করতে পারেন এবং "জারগনস" ব্যতীত কী কী উপকারিতা / কনস ?? দয়া করে কিছু লিঙ্কও পরামর্শ দিন। জেপিএ এবং জেডিবিসি পার্থক্যের জন্য একটি সরল গুগল অনুসন্ধান আমাকে "পরিভাষা" পূর্ণ কিছু সাইটগুলিতে নিয়ে গেছে যা আমি অনুসরণ করতে পারি না :(


2
কেন জেডিবিসি টিউটোরিয়াল দিয়ে শুরু করবেন না: ডকস.ওরকল
জ্যাভেস /

2
জেপিএ ইজেবি বা জাভা ইই ছাড়াই ব্যবহার করা যেতে পারে, আপনি সরাসরি অধ্যবসায় থেকে একটি সত্ত্বা ম্যানেজারফ্যাক্টরি তৈরি করতে পারেন।
জেমস

উত্তর:


237

সাধারণ লোকের পদে:

  • জেডিবিসি ডাটাবেস অ্যাক্সেসের জন্য একটি মান
  • জেপিএ ওআরএমের জন্য একটি মান

যেমন - JDBC এর সরাসরি একটি ডিবি সাথে সংযোগ এবং এর বিরুদ্ধে এসকিউএল চালানোর জন্য একটি মান SELECT * FROM USERS, ইত্যাদি ডেটা সেট ফিরে যেতে পারে যা আপনি আপনার অ্যাপে সব ব্যবস্থা করতে সক্ষম, এবং আপনার সমস্ত স্বাভাবিক জিনিস করতে পারেন মত INSERT, DELETE, চালানোর সঞ্চিত পদ্ধতি, ইত্যাদি এটি বেশিরভাগ জাভা ডাটাবেস অ্যাক্সেসের পিছনে অন্তর্ভুক্ত প্রযুক্তিগুলির মধ্যে একটি (জেপিএ সরবরাহকারী সহ)।

Traditionalতিহ্যবাহী জেডিবিসি অ্যাপ্লিকেশনগুলির মধ্যে একটি সমস্যা হ'ল আপনার প্রায়শই এমন কিছু ক্রেইপ কোড থাকতে পারে যেখানে ডেটা সেট এবং অবজেক্টগুলির মধ্যে প্রচুর ম্যাপিং ঘটে, যুক্তিটি এসকিউএল ইত্যাদির সাথে মিশে যায় etc.

জেপিএ অবজেক্ট রিলেশনাল ম্যাপিংয়ের একটি মান a এটি এমন একটি প্রযুক্তি যা আপনাকে কোড এবং ডাটাবেস সারণিতে বস্তুর মধ্যে ম্যাপ করার অনুমতি দেয়। এটি এসকিউএলটিকে বিকাশকারীদের থেকে "আড়াল" করতে পারে যাতে তারা যা করে সেগুলি জাভা ক্লাস হয় এবং সরবরাহকারী আপনাকে সেগুলি সংরক্ষণ করতে এবং যাদুতে লোড করতে দেয়। বেশিরভাগ ক্ষেত্রে, এক্সএমএল ম্যাপিং ফাইলগুলি বা গেটর এবং সেটারগুলিতে টিকাগুলি জেপিএ সরবরাহকারীকে আপনার অবজেক্ট ম্যাপে কোন ক্ষেত্রগুলি ডিবিতে কোন ক্ষেত্রগুলিতে তা জানাতে ব্যবহার করা যেতে পারে। সর্বাধিক বিখ্যাত জেপিএ সরবরাহকারী হাইবারনেট , সুতরাং এটি কংক্রিটের উদাহরণগুলির জন্য শুরু করার জন্য ভাল জায়গা।

অন্যান্য উদাহরণগুলির মধ্যে ওপেনজেপিএ, টপলিংক ইত্যাদি অন্তর্ভুক্ত রয়েছে

হুডের নীচে, হাইপারনেট এবং জেপিএর বেশিরভাগ অন্যান্য সরবরাহকারী এসকিউএল লেখেন এবং ডিবি থেকে এবং পড়তে এবং লিখতে জেডিবিসি ব্যবহার করেন।


3
আইবাটিস (আজকাল মাইবাতিস) কোনও জেপিএ বাস্তবায়ন নয়। আপনি যদি এটি একবার খেয়াল করেন তবে আপনি খেয়াল করবেন এটির ধারণাটি খুব আলাদা different
মিক্কো মৌনু

ধন্যবাদ! আমার ভুল, আমি ভেবেছিলাম এটি জেপিএ বাস্তবায়িত করেছে, এখনই সংশোধন হয়েছে!
মার্ক

3
সমস্ত জেপিএ সরবরাহকারী এসকিউএল লেখেন না এবং জেডিবিসি ব্যবহার করেন না ... যেহেতু তারা "বিভিন্ন ধরণের ডেটাস্টোর" (মঙ্গোডিবি, নিও 4 জে, ইত্যাদি) অবিরত থাকতে পারে। ডেটা নিউক্লিয়াস জেপিএ এর একটি উদাহরণ
ডেটা নিউক্লিয়াস

সত্য ডেটা নিউক্লিয়াস .. এমনকি এক্সেল ইত্যাদির জন্যও রয়েছে - মূল প্রশ্নগুলি ছিল জেডিবিসি / জেপিএ তাই আমি সঠিকভাবে বা ভুলভাবে ধরে নিয়েছিলাম যে তিনি রিলেশনাল স্টোরগুলিতে আগ্রহী was
ডি

52

জেপিএ এবং জেডিবিসির মধ্যে প্রধান পার্থক্যটি অ্যাবস্ট্রাকশন এর স্তর।

জেডিবিসি ডাটাবেসগুলির সাথে মিথস্ক্রিয়া করার জন্য একটি নিম্ন স্তরের মান standard জেপিএ একই উদ্দেশ্যে উচ্চ স্তরের মান। জেপিএ আপনাকে আপনার অ্যাপ্লিকেশনটিতে এমন একটি বস্তু মডেল ব্যবহার করতে দেয় যা আপনার জীবনকে আরও সহজ করে তুলতে পারে। জেডিবিসি আপনাকে সরাসরি ডেটাবেস সহ আরও কিছু করতে অনুমতি দেয় তবে এর জন্য আরও মনোযোগ দেওয়া দরকার। কিছু কাজ JPA ব্যবহার করে দক্ষতার সাথে সমাধান করা যায় না, তবে জেডিবিসি দিয়ে আরও দক্ষতার সাথে সমাধান করা যেতে পারে।


20

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

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


10

জেডিবিসি জেপিএর পূর্বসূরি।

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

সুতরাং জেপিএ আপনার জন্য আপডেট ক্যোয়ারী তৈরি করে এবং আপনি যে সত্ত্বাগুলি সন্ধান করেছেন বা তৈরি করেছেন / আপডেট করেছেন তা পরিচালনা করে (এটি আরও কিছু করে)।

আপনি যদি জাভা ই ই ধারক ছাড়া জেপিএ করতে চান, তবে স্প্রিং এবং এর লাইব্রেরিগুলি খুব একই জাভা টীকাগুলির সাথে ব্যবহার করা যেতে পারে।


"জাভা ই ই ধারক ছাড়া ??" আপনার অর্থ কি স্প্রিং এবং এর লাইব্রেরিগুলি ওয়েব ধারক থেকে পৃথক?
ব্রুস জু

@ ব্রুসজু অবশ্যই এটি। আপনি ওয়েব ধারকের প্রয়োজন ছাড়াই অনেকগুলি স্প্রিং ফ্রেমওয়ার্ক উপাদান ব্যবহার করতে পারেন। নির্ভরতা ইনজেকশন, উদাহরণস্বরূপ, কেবলমাত্র ওয়েব প্রসঙ্গে আপনার প্রয়োজন এমন কিছু নয়।
ডল্ফিজ

1
@ ডলফিজ কি বসন্তের ওয়েব লাইব্রেরিগুলি জাভা ওয়েব এবং জাভা ইই লাইব্রেরির উপরে আবরণী নয়?
রাইকুমারদীপক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.