Sunday, August 21, 2011

Hibernate

මේ දවස් වල Hibernate පොඩ්ඩක් ඉගෙන ගන්න chance එකක් හම්බ උනා. ඉතින් නවකයෙක් හැටියට මම දැන ගත්තු දෙයින් බිඳක් ඔබත් එක්ක blog එකේ බෙදා ගන්න හිතුන.

ඇත්තටම Hibernate කියන වචනෙ අහපු දවසෙ මම හිතුවෙ මේ අපි කවුරුත් දන්න compute eke hibernate කරන එක කියල. නෑ මම මේ කියන්න යන්නෙ java classes සහ database tables, map කරන්න පාවිච්චි කරන Hibernate කියන object-relational mapping(ORM), library එක ගැනයි.

Hibernate use නොකර database එකට data enter කරන්න නම් Query Language එකක් use කරන්න වෙනව. නමුත් Hibernate මේ වැඩ ටික හරිම පහසුවෙන් අපිට කරල දෙනව කියුවොත් එකේ වැරද්දක් නැහැ.

අපි උදාහරණයක් අරගෙන බලමු.

හිතන්න database එකේ තියෙනව table එකක් Students කියල. එකේ fields තියෙනව AdmissionNo, Name, Grade කියල. අපි sql use කරනව නම්,
INSERT INTO STUDENTS (AdmissionNo, Name, Grade) VALUES (121, "Nimal", "5")
කියන statement එක execute කරන්න ඕනෙ.

නමුත් Hibernate use කරනව නම් අපිට මේක පහසුවෙන් කර ගන්න පුලුවන්. එහිදී අපිට අවශ්‍ය වන්නෙ student කියල java object එකක් හද ගන්න විතරයි. ඊට පස්සෙ අපිට පහත පරිදි ඒ object එක database එකට save කර ගන්න පුලුවන්.

transaction.begin();
entityManager.persist(studentObject);
transaction.commit();

database එක table එක define කරන්නේ persistence.xml කියල file එකක. මීට අමතරව JPA එහෙමත් නැතිනම්, Java Persistence API use කරනව නම් database එක table එක annotations use කරල class එක ඇතුලෙදිම define කරගන්න පුලුවන්.

Hibernate ගැන වැඩි දෙයක් කියන්න තරම් මට ලොකු දැනුමක් නැහැ. නමුත් Hibernate ගැන පොඩි අදහසක් ගන්න මේ ටික ඇති කියල මා හිතනව...

1 comment: