Hibernate ၏ R/O Mapping ကိုေလ့လာျခင္း

ၿပီးခဲ့တဲ့ Example တြင္ Hibernate တစ္ခုဘယ္လိုတည္ေဆာက္ရမယ္၊ ဘယ္လို သိမ္းဆည္းရမယ္ကို ျပသေပးထားတာ ျဖစ္ပါသည္။ အဲ့ဒီ ေလ့က်င့္ခန္းထဲမွာ Member.hbm.xml file ကို Database Table သို႔ Mapping လုပ္ရန္အတြက္ ဖန္တီးထားျခင္း ျဖစ္ပါသည္။ အခု ဒီ File မွာသုံးထားတဲ့ Tag ေတြကို ရွင္းျပမွာ ျဖစ္ပါသည္။ ကဲအခု Member.hbm.xml file ကိုျပန္ၾကည့္ရေအာင္-


<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- Generated Jun 6, 2010 11:04:09 PM by Hibernate Tools 3.2.1.GA -->

<hibernate-mapping>

<class table="member" catalog="hibernate_1">

<id type="string">

<column name="MemberID" length="25" />

<generator class="assigned" />

</id>

<property type="string">

<column length="25" not-null="true" />

</property>

<property type="string">

<column length="45" not-null="true" />

</property>

<property type="string">

<column length="25" not-null="true" />

</property>

</class>

</hibernate-mapping>

Member.hbm.xml ဆိုတာ Hibernate Mapping File တစ္ခုျဖစ္ပါသည္။ ၄င္းသည္ Simple Document တစ္ခုျဖစ္ပါသည္။ ေအာက္ပါတို႔မွာ အေရးႀကီးေသာ Element မ်ားျဖစ္ပါသည္ -

<hibernate-mapping> element

ဤ Tag သည္ Root element ျဖစ္ပါသည္။ က်န္ Hibernate tag မ်ားကို အခု <hibernate-mapping></hibernate-mapping> အတြင္းေရးရပါမည္။

<class> element

ဤ <class> tag သည္ Java Class Object ႏွင့္ Database Table ကိုၫႊန္းဆိုေသာ tag တစ္ခုျဖစ္ပါသည္။ ၄င္းကို Root element အတြင္းတြင္သာေရးရပါမည္။

<id> element

ဤ element သည္ Object အား သက္မွတ္ႏိုင္ရန္ သုံးေသာ unique identifier (Database Table ၏ Primary Key)။ ၄င္းတြင္ ေအာက္ပါ Attribute မ်ားပါရွိပါသည္-

Name: Persistence class မွ သုံးေသာ နာမည္

Column: Primary Key ၏ တန္ဖိုးကိုသိမ္းရန္

Type: Data အမ်ဳိးအစား

Unsaved-value: အကယ္၍ id တြင္ ဘာမွ မရွိပါက Persistence class မွ ဆုံးျဖတ္ရန္သုံးေသာ တန္ဖိုး

<generator> element

ဤ <generator> tag သည္ Record အသစ္ တစ္ခု အတြက္ Primary Key တန္ဖိုးကို ဖန္တီးေပးေသာ tag ျဖစ္ပါသည္။ ၄င္းတြင္ ေအာက္ပါ အသုံးျပဳေသာ ပုံစံမ်ားရွိပါသည္ -

  • Increment – ၄င္းသည္ long၊ short သို႔မဟုတ္ int မ်ား၏ Primary Key မ်ားကို ဖန္တီးေသာအခါ သုံးပါသည္။ increment ကို clustered development မ်ားတြင္ သုံးလို႔မရပါ။
  • Sequence – Hibernate သည္ Primary key အား အစီအစဥ္လိုက္တန္ဖိုးမ်ား ထည့္သြင္းရန္ အသုံးျပဳႏိုင္ပါသည္။ ၄င္းကို DB2၊ PostgreSQL၊ Oracle ႏွင့္ SAP DB databases တို႔တြင္သုံးႏိုင္ပါသည္။
  • Assigned – ၄င္းကို Application Code မွ ထုတ္လုပ္ေပးေသာ တန္ဖိုးမ်ား အသုံးျပဳရန္အတြက္သုံးသည္။

<property> element

ဤ element သည္ Java Attribute ႏွင့္ ၄င္း၏ Database အတြင္းရွိ Mapping တို႔အား သက္မွတ္ေပးေသာ tag ျဖစ္ပါသည္။ ၄င္းသည္ indexing ကို ေထာက္ပံ့ေပးႏိုင္ပါသည္။

Facebook comments:

Leave a comment


*