Entity Mapping এর মৌলিক ধারণা

Spring ORM এ Entity Mapping - স্প্রিং ওআরএম (Spring ORM) - Java Technologies

300

Entity Mapping হল Spring ORM (বা অন্য ORM) ব্যবহার করে ডাটাবেসের টেবিল এবং জাভা ক্লাসের মধ্যে একটি সংযোগ স্থাপন করার পদ্ধতি। ORM (Object-Relational Mapping) টুল যেমন Hibernate বা JPA এর মাধ্যমে টেবিলের রো-কলাম এবং জাভা অবজেক্টের প্রোপার্টির মধ্যে ম্যাপিং তৈরি করা হয়। এর ফলে ডেভেলপাররা SQL লিখে ডাটাবেস অ্যাক্সেস না করেই জাভা অবজেক্ট ব্যবহার করে ডাটাবেস অপারেশন সম্পন্ন করতে পারে।

Spring ORM ব্যবহার করলে Entity Mapping সহজ ও সুসংহত হয়।


Entity Mapping এর মূল উপাদান

@Entity অ্যানোটেশন

@Entity অ্যানোটেশন ব্যবহার করে একটি জাভা ক্লাসকে ডাটাবেস টেবিল হিসেবে ঘোষণা করা হয়।

import jakarta.persistence.Entity;
import jakarta.persistence.Id;

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

    // Getter এবং Setter মেথড
}

@Table অ্যানোটেশন

@Table অ্যানোটেশন ব্যবহার করে টেবিলের নাম কাস্টমাইজ করা যায়।

import jakarta.persistence.Entity;
import jakarta.persistence.Table;

@Entity
@Table(name = "users")
public class User {
    // ফিল্ড ডেফিনেশন
}

@Id এবং @GeneratedValue

@Id ফিল্ডটি টেবিলের প্রাইমারি কী নির্দেশ করে।
@GeneratedValue দিয়ে প্রাইমারি কী-এর জেনারেশন স্ট্র্যাটেজি নির্ধারণ করা যায়।

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    private String name;

    // Getter এবং Setter মেথড
}

@Column অ্যানোটেশন

@Column দিয়ে একটি ফিল্ডের ডাটাবেস কলামের নাম এবং বৈশিষ্ট্য নির্ধারণ করা যায়।

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;

@Entity
public class User {
    @Id
    private int id;

    @Column(name = "user_name", nullable = false)
    private String name;

    private String email;
}

Entity Mapping এর গুরুত্বপূর্ণ বৈশিষ্ট্য

  • Java Class এবং Table Mapping: জাভা ক্লাস @Entity অ্যানোটেশনের মাধ্যমে একটি টেবিলের প্রতিনিধিত্ব করে।
  • Field এবং Column Mapping: প্রতিটি ক্লাস ফিল্ড @Column বা ডিফল্টভাবে কলামের সঙ্গে ম্যাপ হয়।
  • Primary Key Definition: প্রাইমারি কী @Id অ্যানোটেশনের মাধ্যমে নির্ধারণ হয়।
  • Relationship Mapping: একাধিক টেবিলের মধ্যে সম্পর্ক নির্ধারণ করতে @OneToOne, @OneToMany, এবং @ManyToMany ব্যবহার করা হয়।

উদাহরণ: একটি Entity ক্লাস

import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Column;

@Entity
public class Product {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "product_name", nullable = false)
    private String name;

    private double price;

    // Getter এবং Setter
    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 double getPrice() {
        return price;
    }

    public void setPrice(double price) {
        this.price = price;
    }
}

Entity Mapping এর সুবিধা

  • SQL লেখার প্রয়োজনীয়তা কমায়।
  • Object-Oriented Programming (OOP) এর ধারণার সঙ্গে সামঞ্জস্যপূর্ণ।
  • ডাটাবেস এবং অ্যাপ্লিকেশন স্তরের মধ্যে লজিক্যাল সম্পর্ক তৈরি করে।
  • ডাটাবেস মডেলের পরিবর্তন সহজ করে।

Entity Mapping এর মাধ্যমে জাভা অ্যাপ্লিকেশনে ডাটাবেস ম্যানিপুলেশন আরও কার্যকর হয়। Spring ORM ব্যবহার করলে Entity Mapping সহজে এবং দ্রুত বাস্তবায়ন করা যায়।


Content added By
Promotion

Are you sure to start over?

Loading...