বৈষম্যকারী কলামটি নিজেই বিভিন্ন শ্রেণীর মধ্যে পার্থক্য করতে ব্যবহৃত হয় যখন শ্রেণি শ্রেণিবিন্যাস সমতল বা উল্লম্ব ম্যাপ করা হয়। সমতল এবং উল্লম্ব ম্যাপিংয়ের পিছনে ধারণাটি হল যে প্রতিটি শ্রেণী বেস ক্লাস টেবিলে একটি একক সারিতে ম্যাপ করা হয়েছে। প্রতিটি সারির ধরন নির্ধারণ করতে ডিসক্রিমিনেটর মান ব্যবহার করা হয়।
আপনি কীভাবে বৈষম্যকারী কলাম খুঁজে পান?
সত্তার সংজ্ঞা: @Entity(name="Port") @DiscriminatorColumn(name="type", discriminatorType=DiscriminatorType। STRING, length=10) @DiscriminatorValue(value="port") @Table(name="vPorts") @XmlRootElement(name="port") পাবলিক ক্লাস PortEntity { …
জাভাতে বৈষম্যকারী কী?
Annotation Type DiscriminatorColumn
একক_টেবিল এবং জয়েনড ইনহেরিটেন্স ম্যাপিং কৌশল এর জন্য ডিসক্রিমিনেটর কলামনির্দিষ্ট করে। কৌশল এবং বৈষম্যকারী কলাম শুধুমাত্র একটি সত্তা শ্রেণীর শ্রেণিবিন্যাসের মূলে নির্দিষ্ট করা হয়েছে যেখানে একটি ভিন্ন উত্তরাধিকার কৌশল প্রয়োগ করা হয়েছে।
হাইবারনেটে ডিসক্রিমিনেটর কলামের ব্যবহার কী?
আপনি যদি এই কৌশলটি JPA-এর সাথে ব্যবহার করতে চান, তাহলে আপনার ডাটাবেস টেবিলে একটি বৈষম্যকারী কলাম থাকতে হবে। এই কলামের মান সত্তা শ্রেণী চিহ্নিত করে যেখানে প্রতিটি রেকর্ড ম্যাপ করা হবে। ডিফল্টরূপে, হাইবারনেট একই পদ্ধতি ব্যবহার করে।
@DiscriminatorColumn-এর ব্যবহার কী?
বৈষম্যকারীসাধারণত SINGLE_TABLE উত্তরাধিকার-এ ব্যবহৃত হয় কারণ রেকর্ডের ধরন শনাক্ত করতে আপনার একটি কলাম প্রয়োজন। উদাহরণ: আপনার একটি ক্লাস স্টুডেন্ট এবং ২টি সাব-ক্লাস আছে: গুড স্টুডেন্ট এবং খারাপ স্টুডেন্ট।