Loading...

2007-05-10

Hibernate

Hibernate is an Object-relational mapping (ORM) solution for the java and .net languages.

Нээлттэй эхийн LGPL лицэнз бүхий энэхүү технологийг Jboss Redhat middleware компани хөгжүүлдэг ба java хэлний Enterprise Java Bean (EJB) технологи дээр үндэслэгдсэн, өгөгдлийн сантай ажиллах боломжийг сайжруулж, обьект хоорондын харилцан хамааралтай зураглал (mapping) бий болгож өгдөг гол давуу талтай юм. ө.х. java систем хөгжүүлэгчдийн өгөгдлийн сантай ажиллах ажиллагааг хөнгөвчлөх, өгөгдлийн санг хамгийн үр дүнтэй ашиглах бололцоог олгодог утгаараа амжилттай явагдаж буй төсөл гэж болно.

Бүүр энгийн үгээр хэлэх юм бол ямарч өгөгдлийн сантай (миний ойлгосоноор java-тай ажиллаж болох бүх бааз гэдэг чинь...) ажиллаж чадахаас гадна доторх хүснэгтүүдтэй нь харилцан хамааралтай, төстэй (field-үүдтэй нь адил хувьсагчуудтай гэх мэт) Java Class –ууд үүсгэн ажиллах бөгөөд өгөгдлийн сангийн хүснэгт болон java class 2-ын дунд mapping болж өгдөг xml тохиргоо бүхий багц үүсгээд өөрийн жинхэнэ кодоосоо тэдгээр классуудтай обьект хандалтат технологиор ажиллан өгөгдлийн сантай ажиллах ажиллагаагаа өөрийн сайн мэддэг java орчинд оруулж ирдэг. Та бүхэн бодож байгаа байх л даа Харилцан холбоотой (many-to-many г.м) хүснэгтүүд болон давхар хүсэлт (query – JOIN г.м) илгээхэд яах юм болоо гэж. Тэгвэл эдгээр боломжуудыг hibernate3 дээр бүрэн шийдсэн байдаг бөгөөд та хүснэгтүүдийн харилцан хамааралыг mapping xml тохиргоонууд дээрээ зохих дүрэм журмынх нь дагуу оруулж ашиглана.

Reverse and Forward Engineering

Товчхондоо бол Forward гэдэг нь классуудаасаа өгөгдлийн сангаа үүсгэх, reverse гэдэг нь эсрэгээрээ өгөгдлийн сангаас кодоо үүсгэж авах гэсэн үг юм. Эдгээр 2 арга нь хөгжүүлэлтийн явцад их хэрэг болдог бөгөөд өгөгдлийн сан дээрх жижиг өөрчлөлтөнд түүртэхгүй үндсэн кодоо үүсгээд авах мөн эсрэг тохиолдол ч хэрэглэж болох энэ аргуудыг build.xml буюу Ant compiler-ын тусламжтай хийдэг юм байна.

Би hibernate-ыг анх удаа ашиглаж байгаа болохоор зөндөө л бэрхшээл мэдэхгүй чадахгүй зүйл гарч байна. Гэхдээ бас яахав цэгцэрсэн, эхний ойлголтуудаа блог дээрээ тэмдэглэж үлдээхээр шийдсэн маань энээ. Ямар ч байсан тохируулах суурилуулах болон simple түвшинд ашиглах чадвартай боллоо. Цааш ахисан мэдлэгтэй болоход мөн application бичих ажилд хэрэг болох үүднээс ирээдүйд тулгарах зүйлсээс одоогоор анзаарагдсан нь гэвэл EJB 3.0 болон ORM мөн Eclipse IDE дээрх plug-in-ууд дээр маш сайн боловсрох сурах хэрэгтэй нь харагдаж байна.

Дашрамд нь Hibernate дээр ажилладаг хүн байвал өөрийн туршлагаасаа хуваалцахыг хүсье


Simple Structure: (directory)

+lib
- hibernate-ын заавар дээр дурдсан jar файлуудыг энд байрлуулна.
+src
└events(package)
-Event.java
-EventManager.java
-Eventhbm.xml
└util
-HibernateUtil.java
-hibernate.cfg.xml
-build.xml

2 comments:

SE said...

hi

chi haana ajildag ve? chamtai holboo barih heregtei bna, s.enkhbayar@gmail.com ruu mail bichvel bayarlah baina. 1 java tusul deer ajillahgui biz

baynaa_sk said...

hi. энэ бичилгийг 2007 5 сард оруулсан байхын. тэгэхэд энэ зэргийн юмыг мэдэж байсым чинь одоо profession түвшинд очсон гэсэн үг дээ. Би анхлан суралцагч хэрвээ татгалзахгүй бол Hibernet, Seam, JBoss- г.м уялдаа холбоотой ажилладаг технологиудын талаарх мэдээллийг тавьж өгч тус болооч гуйж байна.