S01L07 – हाइबरनेट Entity क्लास सेट करना

html

सामग्री तालिका

  1. परिचय
  2. Hibernate Entity Classes को समझना
  3. Entity Class सेटअप करना
    1. नामकरण नियम
    2. क्लास की विशेषताओं को परिभाषित करना
  4. Hibernate में एनोटेशन का उपयोग करना
    1. Entity एनोटेशन
    2. Table एनोटेशन
    3. Id और Column एनोटेशन
  5. Getters, Setters, और Constructors बनाना
  6. पूरा Entity Class उदाहरण
  7. निष्कर्ष
  8. अतिरिक्त संसाधन

परिचय

Java-आधारित अनुप्रयोगों के क्षेत्र में, Hibernate जैसे Object-Relational Mapping (ORM) फ्रेमवर्क ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग और रिलेशनल डेटाबेस के बीच की खाई को पाटने में महत्वपूर्ण भूमिका निभाते हैं। Hibernate की कार्यक्षमता के मुख्य में Entity Classes की अवधारणा निहित है। ये क्लासेस Java ऑब्जेक्ट्स को डेटाबेस टेबल्स के साथ मैप करने में सहायक होती हैं, जिससे डेटा की सुचारू रूप से हेरफेर और पुनर्प्राप्ति सुनिश्चित होती है।

यह ईबुक Hibernate entity class सेटअप करने की पेचीदगियों में गहराई से उतरती है। चाहे आप Hibernate में नए हों या अपने ORM कौशल को परिष्कृत करने की तलाश में एक डेवलपर हों, यह गाइड एक व्यापक अवलोकन, चरण-दर-चरण निर्देश, और एंटिटी क्लास निर्माण में महारत हासिल करने के लिए सर्वोत्तम प्रथाओं प्रदान करती है।


Hibernate Entity Classes को समझना

Hibernate जटिल SQL क्वेरी लिखने के बजाय डेवलपर्स को Java ऑब्जेक्ट्स के साथ काम करने की अनुमति देकर डेटाबेस इंटरैक्शन को सरल बनाता है। इस अमूर्तता के केंद्र में Entity Classes हैं, जो डेटाबेस टेबल्स के लिए ब्लूप्रिंट के रूप में कार्य करती हैं। प्रत्येक entity class डेटाबेस में एक टेबल के अनुरूप होती है, और क्लास का प्रत्येक उदाहरण उस टेबल में एक पंक्ति का प्रतिनिधित्व करता है।

मुख्य बिंदु:

  • ORM Framework: Hibernate Java ऑब्जेक्ट्स और डेटाबेस टेबल्स के बीच परिवर्तन को प्रबंधित करता है।
  • Entity Class: एक Java क्लास जिसे डेटाबेस में एक टेबल का प्रतिनिधित्व करने के लिए एनोटेट किया जाता है।
  • Primary Key: प्रत्येक entity में रिकॉर्ड को विशिष्ट रूप से पहचानने के लिए एक primary key होनी चाहिए।

Entity Class सेटअप करना

Hibernate entity class बनाने में कई महत्वपूर्ण चरण शामिल हैं, जैसे नामकरण नियमों से लेकर विशेषताओं को परिभाषित करना। आइए प्रत्येक घटक का विस्तार से अन्वेषण करें।

नामकरण नियम

सुसंगत नामकरण नियमों का पालन करना स्पष्टता सुनिश्चित करता है और भ्रम को कम करता है। आमतौर पर:

  • Class Names: बड़े अक्षर से शुरू होते हैं और CamelCase का पालन करते हैं (जैसे, Users)।
  • Property Names: छोटे अक्षरों का उपयोग करते हैं और आवश्यक होने पर शब्दों को अंडरस्कोर द्वारा अलग करते हैं (जैसे, user_id)।

उदाहरण:

क्लास की विशेषताओं को परिभाषित करना

Entity class में प्रत्येक property डेटाबेस टेबल में एक कॉलम के अनुरूप होती है। डेटा प्रकार और नामों को सटीक रूप से मिलाना आवश्यक है।

  • Data Types: सुनिश्चित करें कि Java डेटा प्रकार SQL डेटा प्रकार से मेल खाता है (जैसे, नंबरिक IDs के लिए int, टेक्स्ट डेटा के लिए String)।
  • Property Names: कोलम नामों को प्रतिबिंबित करना चाहिए, संभवतः पठनीयता के लिए अंडरस्कोर का उपयोग करते हुए।

उदाहरण:


Hibernate में एनोटेशन का उपयोग करना

Annotations Java का तरीका है क्लासेस, methods, और variables में metadata जोड़ने का। Hibernate में, एनोटेशन्स Java क्लासेस को डेटाबेस टेबल्स के साथ मैप करने में एक महत्वपूर्ण भूमिका निभाते हैं।

Entity एनोटेशन

@Entity एनोटेशन एक क्लास को Hibernate entity के रूप में चिह्नित करता है। यह दर्शाता है कि क्लास को डेटाबेस टेबल के साथ मैप किया गया है।

Syntax:

  • name Attribute: entity नाम निर्दिष्ट करता है, जो logging और querying के लिए उपयोगी है।

Table एनोटेशन

@Table एनोटेशन डेटाबेस टेबल के बारे में अतिरिक्त जानकारी प्रदान करता है जिसे entity मैप करती है, जैसे कि टेबल का नाम।

Syntax:

  • name Attribute: डेटाबेस में सटीक टेबल नाम निर्दिष्ट करता है, विशेष रूप से जब क्लास नाम और टेबल नाम अलग-अलग होते हैं तो स्पष्टता सुनिश्चित करता है।

Id और Column एनोटेशन

@Id एनोटेशन entity की primary key को निर्दिष्ट करता है, जबकि @Column एनोटेशन कॉलम के विवरण को निर्दिष्ट करता है।

Syntax:

  • @Id: primary key को चिह्नित करता है।
  • @Column: क्लास की प्रॉपर्टी को डेटाबेस टेबल में विशिष्ट कॉलम के साथ मैप करता है।
  • Naming Differences: भले ही property नाम कॉलम नाम से अलग हों (जैसे, firstName बनाम first_name), @Column एनोटेशन सटीक मैपिंग सुनिश्चित करता है।

Getters, Setters, और Constructors बनाना

डेटा हेरफेर को सहज बनाने के लिए, entity क्लासेस में प्रत्येक property के लिए getter और setter मेथड्स होने चाहिए। इसके अतिरिक्त, constructors विशिष्ट property मूल्यों के साथ ऑब्जेक्ट इंस्टेंसेस बनाने में सक्षम बनाते हैं।

Getters और Setters

ये मेथड्स निजी क्लास प्रॉपर्टीज़ तक नियंत्रित पहुँच और संशोधन की अनुमति देते हैं।

उदाहरण:

Constructors

Constructors entity क्लास के नए इंस्टेंसेस को प्रारंभ करते हैं। सामान्यतः, एक नो-आर्ग्युमेंट constructor और एक parameterized constructor उत्पन्न करना आम है, यदि primary key auto-generated है तो उसे छोड़कर।

उदाहरण:


पूरा Entity Class उदाहरण

सभी चर्चा किए गए घटकों को एक साथ लाते हुए, यहां प्रदान किए गए transcript के आधार पर Hibernate entity class का एक पूरा उदाहरण है।

कोड व्याख्या

  1. पैकेज घोषणा:

    Users क्लास के लिए namespace को परिभाषित करता है।

  2. इम्पोर्ट्स:

    Java Persistence API (JPA) से आवश्यक एनोटेशन्स को इम्पोर्ट करता है।

  3. Entity और Table एनोटेशन्स:

    • @Entity: क्लास को "users" नाम के साथ Hibernate entity के रूप में चिह्नित करता है।
    • @Table: डेटाबेस में "users" नाम की टेबल निर्दिष्ट करता है जिसे यह entity मैप करती है।
  4. क्लास परिभाषा:

    Users क्लास को परिभाषित करता है जो डेटाबेस में "users" टेबल का प्रतिनिधित्व करती है।

  5. एनोटेशन्स के साथ प्रॉपर्टी परिभाषाएँ:

    • प्रत्येक प्रॉपर्टी "users" टेबल में एक कॉलम के अनुरूप होती है।
    • @Id: user_id को primary key के रूप में चिह्नित करता है।
    • @Column: प्रॉपर्टी को टेबल में विशिष्ट कॉलम नाम के साथ मैप करता है।
  6. Constructors:

    नो-आर्ग्युमेंट constructor और parameterized constructor (auto-generated user_id को छोड़कर) प्रदान करता है।

  7. Getters और Setters:

    क्लास प्रॉपर्टीज़ तक नियंत्रित पहुँच की अनुमति देता है।


निष्कर्ष

एक सुव्यवस्थित Hibernate entity class बनाना Java अनुप्रयोगों में प्रभावी ORM के लिए बुनियादी है। नामकरण नियमों का पालन करके, एनोटेशन्स का उपयोग करके, और सटीक property मैपिंग सुनिश्चित कर के, डेवलपर्स Java ऑब्जेक्ट्स को रिलेशनल डेटाबेस के साथ सहजता से एकीकृत कर सकते हैं। इस ईबुक ने entity class सेटअप करने के लिए आवश्यक चरणों और सर्वोत्तम प्रथाओं को रेखांकित किया है, जिससे Hibernate की आगे की खोज और महारत के लिए एक मजबूत आधार प्रदान होता है।

यह लेख AI द्वारा जनित है।






Share your love