CrudRepository এবং JPA সংগ্রহস্থল উভয়ই স্প্রিং ডেটা রিপোজিটরি লাইব্রেরির ইন্টারফেস। স্প্রিং ডেটা রিপোজিটরি বিভিন্ন স্থায়ী স্তরের জন্য ডেটা স্তর অ্যাক্সেস করার জন্য কিছু পূর্বনির্ধারিত ফাইন্ডার প্রদান করে বয়লারপ্লেট কোড হ্রাস করে৷
JPA সংগ্রহস্থল CrudRepository এবং PagingAndSorting সংগ্রহস্থল প্রসারিত করে। এটি ক্রুড রিপোজিটরি থেকে কিছু ফাইন্ডারকে উত্তরাধিকার সূত্রে পায় যেমন FindOne, একটি সত্তা পায় এবং সরিয়ে দেয়। এটি JPA সম্পর্কিত কিছু অতিরিক্ত পদ্ধতিও প্রদান করে যেমন ব্যাচে রেকর্ড মুছে ফেলা, ডাটাবেসে সরাসরি ডাটা ফ্লাশ করা এবং পেজিনেশন এবং বাছাই সংক্রান্ত পদ্ধতি।
আমাদের অ্যাপ্লিকেশনটিতে এই সংগ্রহস্থলটি প্রসারিত করতে হবে এবং তারপরে আমরা এই সংগ্রহস্থলগুলিতে উপলব্ধ সমস্ত পদ্ধতি অ্যাক্সেস করতে পারি। আমরা ব্যবসার প্রয়োজনীয়তার উপর ভিত্তি করে নাম বা নেটিভ কোয়েরি ব্যবহার করে নতুন পদ্ধতি যোগ করতে পারি।
Sr. না। | কী | JPARepository | CrudRepository |
---|---|---|---|
1 | শ্রেণীবিন্যাস | JPA প্রসারিত crudRepository এবং PagingAndSorting সংগ্রহস্থল | Crud Repository হল বেস ইন্টারফেস এবং এটি একটি মার্কার ইন্টারফেস হিসাবে কাজ করে। |
2 | ব্যাচ সমর্থন | JPA JPA সম্পর্কিত কিছু অতিরিক্ত পদ্ধতিও প্রদান করে যেমন ব্যাচের রেকর্ড মুছে ফেলা এবং ডাটাবেসে সরাসরি ডাটা ফ্লাশ করা। | এটি শুধুমাত্র CRUD ফাংশন যেমন findOne, saves ইত্যাদি প্রদান করে। |
3 | প্যাজিনেশন সমর্থন | জেপিএ রিপোজিটরি পেজিংএন্ডসর্টিং রিপোজিটরিকেও প্রসারিত করে। এটি পেজিনেশন বাস্তবায়নের জন্য উপযোগী সমস্ত পদ্ধতি প্রদান করে। | ক্রুড রিপোজিটরি পেজিনেশন এবং সাজানোর জন্য পদ্ধতি প্রদান করে না। |
4 | কেস ব্যবহার করুন | JpaRepository আপনার সংগ্রহস্থলগুলিকে JPA অধ্যবসায় প্রযুক্তির সাথে সংযুক্ত করে তাই এটি এড়ানো উচিত। | আপনার সাজানো এবং পেজিং করা দরকার কি না তার উপর নির্ভর করে আমাদের CrudRepository বা PagingAndSortingRepository ব্যবহার করা উচিত। |
JpaRepository-এর উদাহরণ
@Repository public interface BookDAO extends JpaRepository { Book findByAuthor(@Param("id") Integer id); }
CrudRepository-এর উদাহরণ
@Repository public interface BookDAO extends CrudRepository { Book Event findById(@Param("id") Integer id); }