Ozgur web-gunleri-sunum
-
Upload
fehmi-can-saglam -
Category
Technology
-
view
950 -
download
0
Transcript of Ozgur web-gunleri-sunum
Biliim Ynetim Sistemi Uygulama Platformu
Kurumsal Varlklarn Hibernate ile Modellenmesi
Fehmi Can SALAM10/2010
Ama
Geniletilebilir/srdrlebilir kurumsal uygulamalar elde etmek iin tanr, kullanc/mteri, dosya, rn, yazlm, sunucu gibi kurumsal varlklarn Hibernate ile etkin olarak modellenmesi
Ana Hatlar
Java ile kaltm(inheritance) ve ok biimlilik(polymorphism)
Hibernate atsnn Kaltm Eleme(inheritance mapping) zellikleri
Varsaymsal bir kurumun varlklarnn modellenmesi
Kaltm(Inheritance)
Kaltm bir snfn baka bir snfn yelerini ve metodlarn kendi ilevlerini de ekleyerek kullanabilmesidir.
Bu zelliin kullanl olabilecei bir duruma rnek olarak bir ekil ktphanesi verilebilir. Tm ekiller iin ortak olan zellikleri genel bir snfta toplayp ember, dikdrtgen gibi zel ekiller iin ayr snflar oluturabilirsiniz.
Kaltm(Inheritance)
Genel snf taban snf olarak adlandrlrken, zel snflara alt snflar denir.
Kaltm kodun yeniden kullanlabilirliini byk oranda artrrken tasarmn daha basit ve anlalr olmasn salar.
rnek
Hibernate Kaltm Eleme
Table per class hierarchy
Table per subclass
Table per concrete class
Table per class hierarchy
Yalnzca 1 tablo gereklidir.
Taban snf ve alt snflara ait tm alanlar ayn tabloda yer alr.
Bu strateji, alt snflar tarafndan tanmlanan alanlarn NOT NULL constraint sahibi olmasn engeller.
Table per subclass
Taban snf ve alt snflarn toplam says kadar tablo gereklidir.
Alt snf tablolar ile st snf tablosu arasnda primary key ilikisi vardr. Baka bir deyile ilikisel model one-to-one ilikidir.
En normalize veritaban emas bu yntemle elde edilir.
Bir alt snf okumak bir ya da daha fazla join ilemi gerektirir.
Table per concrete class
Her bir snf iin 1 tabloya ihtiya vardr.
Her tabloda miras alnan alanlar da dahil olmak zere alt snfn alanlar bulunur.
Alt snflar zerinde join ilemine gerek olmakszn ok hzl ilem yaplabilir.
Alt snf bilinmediinde aranan nesne herhangi bir alt snf tablosunda olabileceinden karmak union sorgular ortaya kabilir.
Uygulama
Her kurumsal varln bir ID'si vardr.
Hi bir kurumsal varlk gerekten silinmez.
Her kurumsal varln yaratcs, gncelleyeni ve sileni vardr.
Her kurumsal varln yaratlma, gncelleme ve silinme tarihi vardr.
Uygulama
Senaryo
AbstractEntity ve NamedEntity modelleri oluturulur.
NamedEntity instance' Eden yaratlr.
NamedEntity'den treyen User modeli oluturulur.
3 adet User instance' yaratlr ve yaratclar Eden olarak setlenir.
Senaryo
NamedEntity'den treyen Application modeli oluturulur.
Issue Tracker Application instance' yaratlr. Bu instance'n coders setine 2 User instance' eklenir.
NamedEntity'den treyen Role modeli oluturulur.
ADMIN Role instance' yaratlr. Yaratcs bir User instance' olarak setlenir.
Senaryo
Node, Directory ve Document modelleri oluturulur.
"zgrlk iin" Directory instance' yaratlr. Yaratcs bir User instance' olarak setlenir.
"nsanlk iin" ve "Bar iin" alt dizinleri yaratlr.
"Bilgi paylamak iindir" Document instance' yaratlr.
Teekkrler
Sorular?
Not: Abstraction by Reflection
4Primes
Muokkaa otsikon tekstimuotoa napsauttamalla
Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso