Hibernate: Intro

Hibernate

Hibernate ဆိုတာ Java နှင့် Microsoft .Net အတွက် Relational Persistence တစ်ခုဖြစ်ပြီး Object/Relational Mapping ကိုအသုံးပြု၍ Java Domain Object များကို သိမ်းဆည်းဖို့၊ ပြန်လည်ထုတ်ယူ အသုံးပြုဖို့အတွက် Hibernate က အထောက်အကူပြုပါသည်။ Object /Relational Mapping ဆိုတာ မတူညီသော Data အမျိုးအစားများကို ကွဲပြားခြားနားသော စနစ်များအတွင်း တခုနှင့် တစ်ခု နားလည်သော ပုံစံ ပြောင်းလဲ ပေးသော Programming နည်းပညာတစ်ခုဖြစ်ပါသည်။ (ဥပမာ Java Data Type များကို SQL Data Type များ အဖြစ် ပြောင်းလဲ ပေးခြင်း။)

Hibernate ကို ဘာကြောင့် Developer များ အသုံးပြုကြလဲ?

ဒီမေးခွန်းကိုမေးရင် အလွယ်ဆုံး ဖြေတက်ကြသည်မှာ Development Time ကို လျှော့ချချင် သောကြောင့်ဟု ပြောကြပါမည်။ ဒါဟာ မှန်သင့် သလောက် မှန်ပါတယ်။ ဒါပေမယ့် မပြည့်စုံသော အဖြေသာ ဖြစ်ပါသည်။ Hibernate အသုံးပြုရသော အဓိက ရည်ရွယ်ချက်မှာ Project ၏ Database Structure ကို Database Engine တစ်ခုပေါ်တွင် အသေမထားပဲ အလွယ်တကူ ရွှေ့နိုင်၊ ပြောင်းနိုင်ရန် အတွက် ဖြစ်ပါသည်။ (ဥပမာ  – MySQL ပေါ်တွင် တင်ထားသော Database အား Oracle ပေါ်သို့ ပြောင်းလဲ မြင့်တင် ချင်သောအခါ Project ကြီးတစ်ခုလုံး အစမှ အဆုံးပြန်လည် ရေးဖို့ မလိုပဲ အလွယ်တကူ မြင့်တင်နိုင်ရန် Hibernate ကိုအသုံးပြုခြင်းဖြစ်ပါသည်။)

Hibernate ပင်ကိုလက္ခဏာများ

  • POJO-Style Domain model များကို အသုံးပြုရသော framework တစ်ခုဖြစ်ခြင်း
  • Hibernate Query Language၊ Hibernate Criteria Query API၊ နှင့် Database ၏ Native SQL dialect တို့ကို အပြည့်အဝ ထောက်ပ့ံ ပေးနိုင်ခြင်း
  • လုပ်ဆောင်ချက် (Historical)များ ကို စီစစ်နိုင်ခြင်း သို့မဟုတ် Data များကို လုပ်ပိုင်ခွင့်ပေးခြင်း
    Hibernate Architecture

High-level Hibernate Architecture Diagram

Hibernate ကိုအသုံးပြုဖို့အတွက် Database Table ကို ကိုယ်စားပြုသော Java Entity Class (Java Bean) တစ်ခု တည်ဆောက် ပေးဖို့ လိုအပ်ပါသည်။ Hibernate Architecture တွင် အစိတ်အပိုင်း သုံးခုရှိပါသည်။ ၄င်းတို့မှာ

  • Connention Management မှ Database နှင့်ချိတ်ဆက်သော အပိုင်းကို လုပ်ဆောင်ပေးပါသည်။
  • Transaction Management မှ User များ SQL statement များကို တပြိုင်တည်း အသုံးပြုနိုင်ရန် ကူညီပေးပါသည်။
  • Object Relational Mapping တို့ဖြစ်ပါသည်။

Facebook comments:

One Response

  1. [...] ShareHibernate Intro ကို ရှေ့မှာ ရေးပြီးပါပြီ။ ဒီမှာ [...]

Leave a comment


*