CRUD এর পূর্ণ রূপ এবং ধারণা

Hibernate CRUD Operations - হাইবারনেট (Hibernate) - Java Technologies

355

CRUD হল একটি অ্যাক্রোনিম যা Create, Read, Update, এবং Delete এর সংক্ষিপ্ত রূপ। এই চারটি মৌলিক অপারেশন একটি ডেটাবেস বা ডেটা স্টোরেজ সিস্টেমে অবজেক্ট ম্যানিপুলেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ। Hibernate ORM (Object-Relational Mapping) ফ্রেমওয়ার্কের মাধ্যমে এই CRUD অপারেশনগুলি সহজে এবং কার্যকরীভাবে সম্পন্ন করা যায়।

Hibernate-এ, CRUD অপারেশনগুলি Session অবজেক্ট ব্যবহার করে সম্পাদিত হয়, যা ডেটাবেসের সাথে সম্পর্ক স্থাপন করে এবং Java অবজেক্টের মাধ্যমে ডেটা ম্যানিপুলেট করতে সহায়তা করে।


CRUD অপারেশন:

  1. Create:
    • নতুন রেকর্ড তৈরি করতে ব্যবহৃত হয়। Hibernate-এ নতুন অবজেক্ট তৈরি করার জন্য save() বা persist() মেথড ব্যবহার করা হয়।
  2. Read:
    • ডেটাবেস থেকে ডেটা পড়তে ব্যবহৃত হয়। Hibernate-এ ডেটা পড়ার জন্য get(), load(), এবং HQL (Hibernate Query Language) বা Criteria API ব্যবহার করা হয়।
  3. Update:
    • ডেটাবেসে বিদ্যমান রেকর্ড আপডেট করতে ব্যবহৃত হয়। Hibernate-এ update() বা saveOrUpdate() মেথড ব্যবহার করে আপডেট করা হয়।
  4. Delete:
    • ডেটাবেস থেকে রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়। Hibernate-এ delete() মেথড ব্যবহার করা হয়।

1. Create (Create Operation)

Hibernate-এ Create অপারেশনটি নতুন অবজেক্ট তৈরি করে ডেটাবেসে সেভ করার প্রক্রিয়া। এটি Session.save() বা Session.persist() মেথড দ্বারা সম্পন্ন করা হয়।

Create Operation Example:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class CreateExample {
    public static void main(String[] args) {
        // Hibernate configuration and session factory setup
        SessionFactory factory = new Configuration()
                                    .configure("hibernate.cfg.xml")
                                    .addAnnotatedClass(Employee.class)
                                    .buildSessionFactory();
        
        // Create a session
        Session session = factory.getCurrentSession();
        
        try {
            // Create new Employee object
            Employee newEmployee = new Employee("John", "Doe", "developer");

            // Start a transaction
            session.beginTransaction();

            // Save the employee object
            session.save(newEmployee);

            // Commit the transaction
            session.getTransaction().commit();
        } finally {
            factory.close();
        }
    }
}

এখানে, session.save(newEmployee) মেথডের মাধ্যমে Employee অবজেক্টটি ডেটাবেসে সংরক্ষিত হচ্ছে।


2. Read (Read Operation)

Hibernate-এ Read অপারেশনটি ডেটাবেস থেকে ডেটা পড়তে ব্যবহৃত হয়। এটি session.get() বা session.load() মেথড দ্বারা করা যেতে পারে, অথবা HQL বা Criteria API ব্যবহার করে কুয়েরি চালানো যেতে পারে।

Read Operation Example:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class ReadExample {
    public static void main(String[] args) {
        // Hibernate configuration and session factory setup
        SessionFactory factory = new Configuration()
                                    .configure("hibernate.cfg.xml")
                                    .addAnnotatedClass(Employee.class)
                                    .buildSessionFactory();
        
        // Create a session
        Session session = factory.getCurrentSession();
        
        try {
            // Start a transaction
            session.beginTransaction();
            
            // Retrieve employee based on the id
            Employee employee = session.get(Employee.class, 1);
            
            // Display the employee details
            System.out.println("Employee: " + employee);
            
            // Commit the transaction
            session.getTransaction().commit();
        } finally {
            factory.close();
        }
    }
}

এখানে, session.get(Employee.class, 1) মেথডের মাধ্যমে Employee অবজেক্টের ID 1 দ্বারা ডেটাবেস থেকে রেকর্ড পড়া হচ্ছে।


3. Update (Update Operation)

Hibernate-এ Update অপারেশনটি বিদ্যমান রেকর্ড পরিবর্তন করতে ব্যবহৃত হয়। আপনি session.update() অথবা session.saveOrUpdate() মেথড ব্যবহার করতে পারেন।

Update Operation Example:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class UpdateExample {
    public static void main(String[] args) {
        // Hibernate configuration and session factory setup
        SessionFactory factory = new Configuration()
                                    .configure("hibernate.cfg.xml")
                                    .addAnnotatedClass(Employee.class)
                                    .buildSessionFactory();
        
        // Create a session
        Session session = factory.getCurrentSession();
        
        try {
            // Start a transaction
            session.beginTransaction();
            
            // Retrieve employee based on the id
            Employee employee = session.get(Employee.class, 1);
            
            // Update the employee's information
            employee.setFirstName("Jane");
            
            // Commit the transaction
            session.getTransaction().commit();
        } finally {
            factory.close();
        }
    }
}

এখানে, employee.setFirstName("Jane") এর মাধ্যমে Employee অবজেক্টের প্রথম নাম পরিবর্তন করা হয়েছে এবং session.getTransaction().commit() দিয়ে এটি ডেটাবেসে আপডেট করা হয়েছে।


4. Delete (Delete Operation)

Hibernate-এ Delete অপারেশনটি ডেটাবেস থেকে একটি রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়। session.delete() মেথড ব্যবহার করে এটি করা হয়।

Delete Operation Example:

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class DeleteExample {
    public static void main(String[] args) {
        // Hibernate configuration and session factory setup
        SessionFactory factory = new Configuration()
                                    .configure("hibernate.cfg.xml")
                                    .addAnnotatedClass(Employee.class)
                                    .buildSessionFactory();
        
        // Create a session
        Session session = factory.getCurrentSession();
        
        try {
            // Start a transaction
            session.beginTransaction();
            
            // Retrieve employee based on the id
            Employee employee = session.get(Employee.class, 1);
            
            // Delete the employee
            session.delete(employee);
            
            // Commit the transaction
            session.getTransaction().commit();
        } finally {
            factory.close();
        }
    }
}

এখানে, session.delete(employee) মেথড ব্যবহার করে Employee অবজেক্টটি ডেটাবেস থেকে মুছে ফেলা হয়েছে।


Hibernate CRUD-এর সুবিধা:

  1. Simplicity: Hibernate এর মাধ্যমে CRUD অপারেশনগুলি অত্যন্ত সহজ এবং কম কোডে করা যায়, কারণ Hibernate SQL লেখার পরিবর্তে Java অবজেক্টের উপর কাজ করে।
  2. Automatic Table Creation: Hibernate আপনাকে Java ক্লাস এবং ডেটাবেস টেবিলের মধ্যে সম্পর্ক তৈরি করে দেয়, ফলে টেবিল তৈরি বা আপডেট করার জন্য আপনার SQL কমান্ড লেখার প্রয়োজন পড়ে না।
  3. Database Independence: Hibernate ডেটাবেস নিরপেক্ষ, মানে আপনি SQL কোড পরিবর্তন না করেই ডেটাবেস পরিবর্তন করতে পারেন।
  4. Performance Optimization: Hibernate লেজি লোডিং (Lazy Loading) এবং ক্যাশিং (Caching) ফিচারগুলো দিয়ে পারফরম্যান্স অপটিমাইজেশন সরবরাহ করে, যার ফলে ডেটাবেসের সাথে ইন্টারঅ্যাকশন আরও কার্যকরী হয়।
  5. Transaction Management: Hibernate এর সঙ্গে ট্রানজেকশন ম্যানেজমেন্ট সহজ এবং কার্যকরী, কারণ এটি সমস্ত CRUD অপারেশন ট্রানজেকশনের মাধ্যমে পরিচালনা করে।

Hibernate দিয়ে CRUD অপারেশন পরিচালনা সহজ এবং কার্যকরী হয়। এটি Java অবজেক্টের সাথে ডেটাবেস টেবিলের সংযোগ স্থাপন এবং ডেটা ম্যানিপুলেশনকে অত্যন্ত সহজ করে তোলে। Hibernate এর মাধ্যমে আপনি ডেটাবেসের অপারেশনগুলি স্বয়ংক্রিয়ভাবে এবং মডুলারভাবে পরিচালনা করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...