Java ile Kalıcılık (Persistence) - Hibernate

0
malkocoglu
Java programlarımızı yazarken nesneler ile uğraşırız. Bu nesneleri veri tabanına yazmamız gerekince, ilişkisel dünyaya ve kavramlarına atlamış oluyoruz. İlişkisel ve nesnesel modeller birbirinden farklılar, ve sonuç, "Model Uyuşmazlığı" denen kodlama stillerindeki anlaşmazlık olmaktadır. Çözüm: Java icinde SQL yazmadan, nesneleri tablolara eşleme dosyaları ile bağlamak, ve bu bağ üzerinden otomatik SQL üretmek. Kalıcılık (persistence) araçları burada yardımcı oluyor. Java dünyasında kalıcılık araçlarından Hibernate'i aşağıdaki yazı dizisinde tanıtıyoruz.
SELECT / UPDATE / INSERT / DELETE Yazmaktan Kurtulun
Hibernate ve Yabancı Anahtarlar (Foreign Keys)
Hibernate İle Nesne Okumak
Sorgulama ve Hibernate

Görüşler

0
FZ
Çok çok önemli bir konu olduğunu düşünüyorum, dolayısı ile makale için teşekkürler! Bildiğim kadarı ile Microsoft olsun, diğer şirketler olsun .NET ortamı için de benzer çalışmalar yapıyorlar ama tabii Java teknolojileri bu konuda daha olgun.

Ciddi bir gerilim var yani bir yanda nesneye yönelik programlama mantalitesi öte yandan SQL ve yapısal SQL modeli. Sürekli bir mantaliteden diğerine geçiş. Açıkçası bu beni çok rahatsız ediyor ve maalesef henüz sunulan çözümlerin öyle çok daha yumuşak geçiş sağladıklarına ikna olmuş değilim. Yine de doğru bir yol olduğuna inanıyorum yani eğer bilgisayar kullanıyorsak biz programcıların da işlerini kolaylaştıracak önemli altyapıların geliştirilmesi lazım, şahsen program yazarken işkence çekmekten hoşlananlardan değilim ;-) Ve özellikle yani nesnelerle uğraşmayı tercih ederim, SQL ne kadar otomatik üretilirse ve ben koda baktığımda kod ne denli kısa ve ``doğal´´ görünümlü, dolayısı ile kolay okunabilir olursa o kadar iyi.
0
malkocoglu
Hakikaten, programcılar nesneler ile ne kadar zaman geçirirse, ilişkisel modelden o kadar uzaklaşıyor. Kodlama sırasında tam lazım olan bir nesne akla geliyor, ve diyoruz ki "ben bu nesneyi thiş.getOtekiNesne() ile ne kadar rahat alırdım", fakat nesne veri tabanında hafızada değil!

Kalıcılığın, hem bu tip nesne arası ilişkileri takip, hem de (özellikle) en basit CRUD (CReate/Update/Delete - Ekle/Güncelle/Sil) islemleri için çok çabuk ve faydalı bir çözüm olduğunu düşünüyorum. Olayın "Bir nesne --> Bir tablo" tarafı çözüldükten sonra, ilişki takip ve sorgulama özellikleri kullanılmaya başlanabilir. Veri tabanlarından bağımsız olabilmek te bir yan fayda, MySql'de yazdığımız Java kodu, Oracle'de değiştirmeden çalışması gibi mesela.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Java Tekeline Hazır Mısınız?

realist

Java GPL lisanslandı diye sevinirken bakın neler oluyor:

Oracle BEA Systems'i 8.5 milyar dolara, Sun MySQL Inc.'i 1 milyar dolara satın almış.

SourceForge'daki ilk NASA Programı ve Daha Sağlam Java Kodları

anonim

Theserverside.com sitesinde yer alan habere göre NASA Java PathFinder ismindeki JVM'yi SourceForge sitesinde yayımladı.

Bu JVM programınızın çalışması sırasında ortaya çıkabilecek bütün durumaları simule ederek olası hatalarla ilgili bir rapor hazırlıyor.

Java Sourceforge'da C++'ı Birincilik Tahtından Etti

anonim

Açık kaynak kodlu yazılımların host edildiği en büyük web sitesilerinde biri olan sourceforge'da 27 Kasım 2004 01:24 itibariyle Java programlama dili kullanılarak geliştirilen proje sayısı 16772, C++ ile geliştirilen proje sayısı ise 16754.
Böylece C++ uzunca bir süredir oturduğu birincilik tahtından indirilmiş oldu.

Kaynak: javalobby, istatistikler benden :)

Robot programlayarak Java öğrenin

sundance

Robocode sayesinde artık oyun oynayarak Java öğrenmeniz mümkün.

Daha önce C-Bots ve P-Bots (bilin bakalım ne öğretiyorlar) programlarının yaptığını şimdi de Robocode Java için yapıyor. Dört beş tane basit komutla bir matrix üzerinde hareket edebilen, düşmanı bulup ona ateş edebilen robotları kontrol ettiğiniz bu program. Asıl programlama kısmı Düşman robotları nasıl bulup yokedeceğinizin algoritmasını sizin oluşturmanız.

Bütün Java destekleyen platformlarda çalışan Robocode, IBM Alphaworks`ün son zamanlarda bizi heyecanlandıran bir başka ürünü.

Java'nın Bir Kalesi Daha Fethediliyor

anonim

Konu şu: Pascal ile Cep Telefonu için programı geliştirme. Yani Pascal, Java'nın kalelerinden birisi olan cep telefonlarına (biraz dolaylı da olsa) el atıyor...