Java'da MVC, ORM, Hibernate Kavramlari
- Sevdanur GENC

- Dec 11, 2011
- 2 min read
MVC (Model View Controller)MVC (Model View Controller)
Yazilim muhendisliginde kullandigimiz bir mimari yapisidir. Amac projelerimizde soyutlandirma yapabilmektir. Katmanlari paracalara ayirmaktir. Bol, Parcala, Yonet en bilinen amactir.
Bu modelin kullanilmasinin ihtiyac sebebi ise ; kalabalik bir tasarlanmis projeyi hem dizayn tarafindan hemde arka tarafdaki bazi kodlari tekrar tekrar yazdigimizda kod fazlaligi olusmaktadir. ilerki zamanlarda hata ciktiginda bunlari bulmak zaman alacagindan dolayi bu model gelistirilmis ve kullanilmaya baslamistir.
ORM (Object Relation Mapping)ORM (Object Relation Mapping)
ORM, Object Oriented dillerinde ki nesnelerin, veritabanlarindaki iliskisel baglantili kayitlara nasil donusturuldugunu gorebilecegimiz bir mimaridir. ORM'nin kullanim amaci veritabanimizdaki tablolarin uygulamamiz tarafinda classlarla temsil etmesidir. Yani veri tabanimizda ki tablolarin aynisini sinifla temsil edecektir. Sinifin ismi tablo adiyla ayni olacaktir, yine ayni sekilde; db'de ki alan isimleri, veri turleri class'imiz da ki degisken ve veri tipleri ile ayni olmalidir. Normalde class'larimizi olustururken degiskenlerimizi tanimladiktan sonra getter/setter cumlelerimizi olusturmak zorundaydik, ORM bunlari kendisi yapacaktir. Eger ORM biliniyor ve de kullaniliyorsa artik CRUD islemlerini bilmemize yada yazmamiza gerek kalmayacaktir. Ve ya Resultset ayarlari icin satir satir kod yazmamiza gerek yoktur. Kisacasi ORM mimarisi bilindikten sonra tsql, jdbc vb... bilmeye gerek kalmayacaktir. Ve her zaman ki gibi yine kisa zamanda daha kisa bir sekilde kod yazilacaktir. Bu da yazilim muhendisleri icin bir rahatliktir.
HIBERNATEHIBERNATE
Hibernate, bir ORM (Object Relational Mapping) aracidir.
Java'da hibernate ile calisirken 4 onemli asamadan gecmemiz gerekiyor. Bu asamalar ;
1 ) Oncelikle projemize Hibernate ile ilgili API'yi yuklememiz gerekiyor ki bunu projemizin Library kisminda yapacagiz. 2 ) Hibarnate'imizle ilgili konfigurasyon dosyasi olusturuluyor. Veritabanimizin ne oldugunu, icerisine handi database dosyasina ulasilacagi ve sifre gibi ayarlamalari buradan belirtiyoruz. Ve sonucunda .XML uzantili dosyasi olusturuluyor. 3 ) Mapping ayarlamasi yapiliyor. Bunun icin reverse engineering wizard'i kullaniyoruz. Sonucunda .Reveng uzantili bir dosya olusturmus oluyoruz. Burda ki amac veritabanimizda ki butun tablolara erismis oluyoruz. Eger ki baglantili tablolariniz varsa onlari da sistem uzerinden gorebileceksiniz. 4) Sonuncu asamamizda java objelerimizi uretiyoruz. Olusturdugumuz Konfigurasyon dosyasi ve Reverse Engineering dosyasi ile sistemden bilgileri cekiyor. Bu ilk adimlar gerceklestirilmeden malesef bu adimda ilerleyemeyiz bu yuzden herseyi sirasiyla gerceklestirmemiz gerekiyor. Sonuc olarak .java uzantilli Pojo dosyalarini ve .XML uzantili hibernate dosyalarini sisteme kendisi aktariyor. Bu islemleri gerceklestirmemizin faydasi; veri tabanimizda cok fazla sayida tablomuz varsa bunlarin hepsinin transfer islemlerini kolaylikla yapabilmemizdir. Bu islemlerin tam terside JPA mimarisi kullanilarak yapiliyor. Siniflar yaziliyor ve ardindan tablolari olusturuyor, iliskilendirmeleri ayarliyoruz. Bir sonra ki makalem de Hibarnate ile ilgili bir uygulama bulunuyor, mutlaka incelemenizi tavsiye ediyorum...
Comments