Method Naming Convention এর মাধ্যমে Custom Query তৈরি করা

Query Methods এবং Custom Queries - স্প্রিং বুট ওআরএম (Spring Boot ORM) - Java Technologies

289

Spring Data JPA-তে Method Naming Convention ব্যবহার করে ডেটাবেস থেকে ডেটা রিট্রিভ করার জন্য কাস্টম কোয়েরি তৈরি করা যায়। এখানে ম্যানুয়াল SQL কোয়েরি লেখার প্রয়োজন হয় না; মেথডের নাম অনুযায়ী Spring Data JPA স্বয়ংক্রিয়ভাবে কোয়েরি তৈরি করে এবং এক্সিকিউট করে।


Naming Convention কিভাবে কাজ করে?

Method Naming Convention অনুসরণ করে মেথডের নামের ভিত্তিতে Spring Data JPA ডেটাবেস অপারেশনের জন্য SQL কোয়েরি জেনারেট করে। মেথডের নাম মূলত findBy, readBy, বা getBy দিয়ে শুরু হয় এবং এরপরে ফিল্ডের নাম এবং লজিকাল অপারেশন যুক্ত করা হয়।

সাধারণ গঠন

findBy<FieldName><Operation>

উদাহরণ

টেবিল: User

IDNameEmailAge
1John Doejohn@example.com25
2Jane Smithjane@example.com30

Entity ক্লাস

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String email;
    private Integer age;

    // Getters and Setters
}

Repository ইন্টারফেস

import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;

public interface UserRepository extends JpaRepository<User, Long> {
    List<User> findByName(String name);                     // নাম অনুসারে খুঁজুন
    List<User> findByAgeGreaterThan(Integer age);           // নির্দিষ্ট বয়সের বেশি
    List<User> findByNameAndAge(String name, Integer age);  // নাম এবং বয়স অনুযায়ী
}

Naming Convention এর কিছু KeyWords

Keywordঅর্থ
Andদুটি শর্ত যুক্ত করার জন্য।
Orদুটি শর্তের যেকোনো একটি সত্য হলে।
Is, Equalsনির্দিষ্ট মানের সমান হলে।
Betweenদুটি মানের মধ্যে হলে।
LessThanনির্দিষ্ট মানের চেয়ে কম হলে।
GreaterThanনির্দিষ্ট মানের চেয়ে বেশি হলে।
Likeপ্যাটার্ন মিললে।
StartingWithনির্দিষ্ট স্ট্রিং দিয়ে শুরু হলে।
EndingWithনির্দিষ্ট স্ট্রিং দিয়ে শেষ হলে।
Containingনির্দিষ্ট স্ট্রিং ধারণ করলে।

উদাহরণসমূহ

১. নির্দিষ্ট নাম অনুসারে ডেটা খুঁজুন

List<User> users = userRepository.findByName("John Doe");

SQL কোয়েরি:

SELECT * FROM user WHERE name = 'John Doe';

২. নির্দিষ্ট বয়সের চেয়ে বেশি ডেটা খুঁজুন

List<User> users = userRepository.findByAgeGreaterThan(25);

SQL কোয়েরি:

SELECT * FROM user WHERE age > 25;

৩. নাম এবং বয়স উভয়ের শর্ত মিললে ডেটা খুঁজুন

List<User> users = userRepository.findByNameAndAge("Jane Smith", 30);

SQL কোয়েরি:

SELECT * FROM user WHERE name = 'Jane Smith' AND age = 30;

৪. নির্দিষ্ট প্যাটার্ন অনুযায়ী ডেটা খুঁজুন

List<User> users = userRepository.findByEmailEndingWith("@example.com");

SQL কোয়েরি:

SELECT * FROM user WHERE email LIKE '%@example.com';

সুবিধা

  • কোড রিডিবিলিটি বৃদ্ধি: Method নাম পড়েই বোঝা যায় এটি কী কাজ করবে।
  • অটোমেশন: Spring Data JPA স্বয়ংক্রিয়ভাবে SQL কোয়েরি তৈরি করে।
  • কম কোড: ম্যানুয়াল SQL কোয়েরি লেখার প্রয়োজন নেই।
  • ডায়নামিক অপারেশন: লজিক অনুযায়ী বিভিন্ন শর্ত তৈরি করা সহজ।

Spring Data JPA-এর Method Naming Convention ডেটাবেস অপারেশন সহজ এবং কার্যকর করে, বিশেষত যেখানে কমপ্লেক্স SQL কোয়েরি লেখার প্রয়োজন নেই। এটি ডেভেলপমেন্ট সময় এবং প্রচেষ্টা বাঁচায়।

Content added By
Promotion

Are you sure to start over?

Loading...