Mapping ফাইল (.hbm.xml) তৈরি এবং কনফিগার করা

Entity এবং Mapping ফাইল তৈরি (Entity and Mapping Files) - এন হাইবারনেট (NHibernate) - Microsoft Technologies

277

NHibernate এ Entity Class এবং ডেটাবেস টেবিলের মধ্যে সম্পর্ক স্থাপন করার জন্য Mapping ফাইল ব্যবহার করা হয়। এই ফাইলটি XML ফর্ম্যাটে থাকে এবং এটি Entity Class এর প্রপার্টি গুলোকে ডেটাবেস টেবিলের কলামগুলোর সাথে ম্যাপ করে।


Mapping ফাইল (.hbm.xml) তৈরি করা

প্রথমে, আপনাকে একটি XML ফাইল তৈরি করতে হবে, যেটি Entity Class এর জন্য Mapping ফাইল হবে। সাধারণত, Mapping ফাইলের নাম Entity Class এর নামের সাথে মিল রাখলে ভালো হয়। যেমন, যদি Entity Class এর নাম Employee হয়, তাহলে Mapping ফাইলের নাম হতে পারে Employee.hbm.xml

এখানে একটি উদাহরণ দেয়া হলো:

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
    <class name="Employee" table="Employee">
        <id name="Id" column="Id">
            <generator class="identity"/>
        </id>
        <property name="Name" column="Name" />
        <property name="Age" column="Age" />
        <property name="Department" column="Department" />
    </class>
</hibernate-mapping>

এখানে:

  • <class> ট্যাগটি Entity Class (এখানে Employee) এবং ডেটাবেস টেবিলের (এখানে Employee) মধ্যে সম্পর্ক তৈরি করে।
  • <id> ট্যাগটি Primary Key এর জন্য, যেখানে Id প্রপার্টি এবং Id কলাম ম্যাপ করা হচ্ছে।
  • <property> ট্যাগগুলো Entity Class এর প্রপার্টি এবং ডেটাবেস টেবিলের কলামগুলোর মধ্যে সম্পর্ক স্থাপন করে।

Mapping ফাইল কনফিগার করা

NHibernate কে Mapping ফাইল ব্যবহার করতে বলার জন্য hibernate.cfg.xml কনফিগারেশন ফাইলে এই ফাইলের রেফারেন্স দিতে হয়। এর জন্য, আপনি mapping ট্যাগ ব্যবহার করতে পারেন।

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
    <session-factory>
        <!-- ডেটাবেস কানেকশন এবং অন্যান্য কনফিগারেশন -->
        
        <!-- Mapping ফাইল যোগ করা -->
        <mapping resource="Employee.hbm.xml" />
    </session-factory>
</hibernate-configuration>

এখানে mapping ট্যাগের resource অ্যাট্রিবিউটে Mapping ফাইলের পথ উল্লেখ করা হয়েছে, যাতে NHibernate সেই ফাইলটি লোড করে।


Mapping ফাইল এবং Entity Class এর মধ্যে সম্পর্ক

Mapping ফাইল ব্যবহার করার সময়, Entity Class এবং Mapping ফাইলের মধ্যে সঠিক সম্পর্ক বজায় রাখতে হবে। Name এবং Column অ্যাট্রিবিউটগুলোর মাধ্যমে Entity Class এর প্রপার্টি এবং ডেটাবেসের কলামকে সঠিকভাবে ম্যাপ করা হয়।

এছাড়াও, আপনি OneToMany, ManyToOne, ManyToMany ইত্যাদি রিলেশনশিপও Mapping ফাইলের মাধ্যমে কনফিগার করতে পারেন।


Mapping ফাইল ব্যবহার করে NHibernate Session এর সাথে কাজ করা

একবার Mapping ফাইল কনফিগার হয়ে গেলে, আপনি NHibernate এর Session ব্যবহার করে CRUD অপারেশন করতে পারবেন। নিচের উদাহরণটি দেখুন:

using NHibernate;
using NHibernate.Cfg;

public class EmployeeService
{
    public void AddEmployee(Employee employee)
    {
        using (ISession session = NHibernateHelper.SessionFactory.OpenSession())
        {
            using (ITransaction transaction = session.BeginTransaction())
            {
                session.Save(employee);
                transaction.Commit();
            }
        }
    }
}

এখানে:

  • Session ব্যবহার করা হচ্ছে Entity Class Employee এর ইনস্ট্যান্স সেভ করার জন্য।
  • transaction.Commit() কলের মাধ্যমে সেশনটি কমিট করা হচ্ছে।

Mapping ফাইল এবং Data Annotations ব্যবহার করে NHibernate এর Entity Class গুলোকে ডেটাবেসের টেবিলের সাথে ম্যাপিং করা যায়, যা আপনাকে CRUD অপারেশন সহজে পরিচালনা করতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...