উদাহরণ সহ Hibernate Integration

Hibernate এর সাথে Spring ORM Integration - স্প্রিং ওআরএম (Spring ORM) - Java Technologies

287

স্প্রিং ওআরএম (Spring ORM) একটি Spring Framework-এর অংশ, যা Object-Relational Mapping (ORM) এর মাধ্যমে ডেটাবেসের সঙ্গে সহজ এবং কার্যকরী সংযোগ স্থাপন করতে সহায়তা করে। ORM টুলস যেমন Hibernate, JPA ইত্যাদির সাথে ইন্টিগ্রেশন করতে এটি ব্যবহার করা হয়।

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


Hibernate এবং Spring ORM এর ইন্টিগ্রেশন

Hibernate একটি জনপ্রিয় ORM টুল যা জাভা ডেভেলপমেন্টে ব্যবহৃত হয়। Hibernate ডেটাবেস থেকে ডেটা ফ্যাচ এবং ম্যানিপুলেট করতে জাভা অবজেক্ট ব্যবহার করে। Hibernate এবং Spring ORM এর সংযুক্তির মাধ্যমে আমরা Spring এর সুবিধা এবং Hibernate এর শক্তিশালী ORM ক্ষমতা একসঙ্গে ব্যবহার করতে পারি।


প্রয়োজনীয় নির্ভরশীলতা (Dependencies)

Spring ORM এবং Hibernate ব্যবহার করতে হলে, Maven প্রজেক্টে নিচের নির্ভরশীলতা (dependencies) যুক্ত করতে হবে।

<dependencies>
    <!-- Spring ORM -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>5.3.12</version>
    </dependency>

    <!-- Hibernate -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.6.7.Final</version>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>
</dependencies>

Hibernate Configuration (hibernate.cfg.xml)

Hibernate ব্যবহার করতে হলে hibernate.cfg.xml ফাইল তৈরি করতে হবে, যেখানে ডেটাবেস এবং Hibernate সম্পর্কিত তথ্য থাকবে।

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/testdb</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>

        <!-- Annotated Class -->
        <mapping class="com.example.model.User" />
    </session-factory>
</hibernate-configuration>

Entity Class উদাহরণ

Hibernate এর জন্য Entity Class তৈরি করতে হবে।

package com.example.model;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    private int id;
    private String name;
    private String email;

    // Getters and Setters
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Spring Configuration

Spring এ Hibernate Configuration সেটআপ করার জন্য Spring Bean ফাইল তৈরি করতে হবে।

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- DataSource Bean -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/testdb" />
        <property name="username" value="root" />
        <property name="password" value="password" />
    </bean>

    <!-- Hibernate SessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
        <property name="annotatedClasses">
            <list>
                <value>com.example.model.User</value>
            </list>
        </property>
    </bean>

    <!-- Transaction Manager -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
</beans>

DAO উদাহরণ

Hibernate এর মাধ্যমে ডেটাবেস অপারেশন সম্পাদনের জন্য DAO (Data Access Object) তৈরি করতে হবে।

package com.example.dao;

import com.example.model.User;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import javax.transaction.Transactional;

@Repository
public class UserDao {
    @Autowired
    private SessionFactory sessionFactory;

    @Transactional
    public void saveUser(User user) {
        Session session = sessionFactory.getCurrentSession();
        session.save(user);
    }
}

Main Class

Spring এবং Hibernate এর Integration পরীক্ষা করার জন্য Main Class তৈরি করা যেতে পারে।

package com.example;

import com.example.config.AppConfig;
import com.example.dao.UserDao;
import com.example.model.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MainApp {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        UserDao userDao = context.getBean(UserDao.class);

        User user = new User();
        user.setId(1);
        user.setName("John Doe");
        user.setEmail("john.doe@example.com");

        userDao.saveUser(user);

        System.out.println("User saved successfully!");
    }
}

এই ভাবে Spring ORM এবং Hibernate এর মাধ্যমে ডেটাবেস অপারেশনগুলো খুব সহজে এবং কার্যকরভাবে সম্পন্ন করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...