مشخصات مقاله
-
1097
-
0.0
-
3096
-
0
-
0
درس هشتم : آموزش کار با کلاس های سازنده Hibernate Generator Class
آموزش کار با کلاس های سازنده Hibernate Generator Class
زیر عنصر
در ادامه به تشریح و آموزش هریک از کلاس های سازنده فوق خواهیم پرداخت . 1)کلاس assigned :
2)کلاس increment : 3)کلاس sequence : برای ایجاد sequence دلخواه خود ، از زیر عنصر param المنت
4)کلاس hilo : 5)کلاس native : 6) کلاس identify : 7) کلاس seghilo : 8)کلاس uvid : 9)کلاس guid : 10)کلاس select : 11)کلاس foreign : 12)کلاس sequence-identify از یک استراتژی ترتیبی ( sequence ) خاص برای تولید id ها استفاده می کند . این کلاس فقط برروی پلتفرم oracle log پشتیبانی می شود .
کلیه کلاس های generator ، رابطه کاربری org.hibernate.id.Identifier Generator را اجرا می کنند . همچنین ، برنامه نویس می تواند کلاس های سازنده دلخواه خود را با استفاده از رابطه رابط کاربری Identifier Generator ایجاد کند . چهارچوب کاری Hibernate ، کلاس های سازنده درون ساخته زیادی دارد که از آن می تواند به موارد زیر اشاره کرد :
درصورتی که کلاس generator برای برنامه تعیین نشده باشد ، این کلاس به صورت پیش فرض برای المنت ....
این کلاس در صورتی که هیچ پروسه ای دیگر ، اطلاعات به جدول وارد نکنند ، id های منحصر به فرد را تولید خواهد کرد . کلاس increment ، برای انواع داده ای short ، int ، long ، شناسه id تولید می کند . معمولا اولی که تولید می شود 1 بوده و یا واحد 1 افزایش پیدا می کند .
کد تعریف کلاس increment به صورت زیر است :
....
این کلاس ، از ترتیب sequence پایگاه داده برای تولید شناسه های id استفاده می کند . اگر sequence در دیتابیس تعیین نشده باشد ، این کلاس به صورت اتوماتیک یک sequence تولید می کند .
برای مثال در پایگاه داده oracle ، کلاس sequence یک ترتیب به نام HIBERNATE SEQUENCE ایجاد می کند . این کلاس در پایگاه ها داده oracle ، DB2 ، SAP DB ، Mckoi و Postgre SQL از sequence استفاده می کند ، اما در دیتابیس interbase از generator استفاده می کند . ساختار دستوری کلاس sequence به صورت زیر است : .....
.....
کلاس hilo ، از الگوریتم high and low ( شناسه با بیشترین و کمترین عدد ) برای ایجاد id جهت انواع داده ای short ، int ، long ، استفاده می کند . ساختار دستوری استفاده از کلاس hilo به تشریح زیر است : .....
کلاس native ، برحسب database ای که در برنامه استفاده می شود ، از استراتژی های identify ، sequence یا hilo استفاده خواهد کرد . ساختار دستوری استفاده از کلاس native به صورت زیر است : .....
کلاس identify در پایگاه های داده Sybase ، My SQL ، MS SQL ، DB2 و Hypersonic SQL جهت پشتیبانی از id column استفاده می شود .
شناسه ( id ) بازگرداننده توسط کلاس identify از انواع int ، short یا long خواهد بود .
کلاس seqhilo از الگوریتم high and low برای sequence تعیین شده ، استفاده می کند . id برگشتی این کلاس از نوع int ، short یا long خواهد بود .
کلاس uvid از الگوریتم 128 بیسی UVID برای تولید id ها ، استفاده می کند . id بازگردانده شده از این کلاس از انواع string بوده و به دلیل استفاده از Ip ، در سطح کل شبکه منحصر به فرد خواهد بود ، شناسه های UVID در فرمت هگزادمیکال و با طول 32 تعریف میشوند .
کلاس guid از GUID توسط دیتابیس که از نوع string باشد برای id ها استفاده می کند . کلاس guid، برروی پایگاه های داده MS SQL و MySQL کار میکند .
کلاس select از کلید اصلی ( primary key ) که توسط رویدادهای پایگاه داده بازگردانده می شود ، برای تولید id استفاده می کند .
کلاس foreign از object دیگری که مرتبط با object جاری بوده و با استفاده از ارتباط ، اقدام به تولید id می کند .