Be Careful When Using Parent-Child Associations in Hibernate

Parent-child relationships are a special case of more general 1:M associations. They are simply part-whole relationships and for Hibernate it is not meaningful that parts (childs) should exist without belonging a whole (parent). Parent-child association is specified with orphanRemoval attribute of @OneToMany annotation. Hibernate achieves this by employing a special persistent collection implementation. First thing […]

Read More →
JasperReports ve Jaspersoft Studio Tecrübeleri

Jaspersoft, IReport‘dan sonra, Java camiasından gelen Eclipse platformu desteği isteklerine Jaspersoft Studio ile cevap verdi. Yapılan duyurda Aralık 2015’e kadar IReport’un maintain edileceği yani kritik hataların düzeltileceği fakat yeni özelliklerin eklenmeyeceği belirtildi. Bundan sonra resmi JasperReports tasarım aracı olarak Jaspersoft Studio’yu destekleyeceklerini ve developerlara da bu araca geçiş yapmalarını tavsiye etti. Ayrı IDE olarak mı […]

Read More →
3,2,1… ve Project Blast-off

“Not what he wants but what he never dreamed that he wanted; and when he gets it, he recognizes it as something he wanted all the time.” Mimar Denys Lasdun “Yazılım Projelerinde Gereksinim Analizi” adlı yazı dizimize blast-off çalışması ve amacı ile devam edeceğiz. Blast-off çalışması, gereksinim analizinin ilk ve belki de en önemli adımıdır. […]

Read More →
Kurumsal Java Eğitimleri Kasım 2013 Bülteni

Herkese Merhabalar, Bu ayki bültenimize ilk olarak Hibernate ile başlamak istiyorum. Hibernate kullanılan projelerin yaşadığı en büyük sorun hepimizin bildiği gibi LazyInitializationException‘dır. Session kapandıktan sonra, initialize edilmemiş bir proxy nesnenin kendisine veya bir entity’nin initialize edilmemiş bir ilişkisine erişilmeye çalışıldığı vakit ortaya çıkan bu hatadan kurtulmak için uygulama geliştiriciler değişik yollar izlemektedirler. Malesef bu yollardan […]

Read More →
Yazılım Projelerinde Gereksinim Analizi

Bugün 29 Ekim 2013. Ülkemizin tarihindeki en önemli olaylardan birinin yıl dönümü. Bundan 90 yıl önce sonlanan Kurtuluş Savaşı sürecinin bitişi ile temelleri atılan Türkiye Cumhuriyeti’nin kuruluş yıl dönümü. Bugün aynı zamanda cumhuriyet tarihindeki en önemli projelerden birinin, Marmaray Projesi’nin de sonlandığı gün. Gördüğünüz gibi projeler ve süreçler hayatımızın her noktasında karşımıza çıkmaktadır. Bugün yazılım […]

Read More →
Eclipse Java Development Tools (JDT)

Merhabalar. Bu yazımızda Eclipse’in kendi içinde de kullandığı ve plugin geliştiricilere de sunduğu JDT teknolojisinden bahsedeceğiz. JDT sunduğu araçlarla bir Java programını modelleyerek içeriğini okumayı veya üzerinde düzenlemeler yapmayı mümkün kılıyor. Biz de geliştirdiğimiz model diagram pluginlerinde ürettiğimiz kod ile model senkronizasyonunu sağlayabilmek için bu teknolojiden faydalanıyoruz. JDT kullanmak istediğiniz plugin projelerinde plugin.xml > Dependencies […]

Read More →
Hibernate’de Sınıf İlişkileri 2

Hibernate’de sınıflar arası ilişkileri incelediğimiz yazı dizimizin ilk bölümünden sonra ikinci bölüm ile devam ediyoruz. Bu bölümde M:1 ilişkiler üzerinde duracağız. M:1 ilişkiler entity-entity veya component-entity şeklinde olabilir. Fakat target sınıfın component yani “Embeddable” olması mümkün değildir. Çünkü herhangi bir bileşenin ancak ve ancak tek bir sahibi olabilir. Birden fazla entity instance’ın ortak bir bileşene […]

Read More →
Java EE Geliştirme Ortamı Bileşenleri – 2

Merhabalar. “Java EE Geliştirme Ortamı Bileşenleri” yazı dizimizin birinci bölümünde build ve dependency araçlarından (Maven, Gradle), kurumsal bağımlılık yöneticisinden (Artifactory) ve sürüm kontrol sistemlerinden (SVN, Git) bahsetmiştik. Bu bölümde sürekli entegrasyon sistemleri, test sunucusu ve hata/iş takip sistemlerinden bahsedeceğiz. Sürekli Entegrasyon Sistemleri Sürekli Entegrasyon (Continuous Integration a.k.a. CI) sistemleriyle Build, Test, Deployment,Quality Control gibi aşamaları sürekli […]

Read More →
Spring ve Tapestry’de IoC Yaklaşımları 2

İlk bölümde Spring ve Tapestry Framework’lerini IoC container oluşturma kabiliyetleri ve bağımlılıkların enjekte edilmesi konuları üzerinde durmuştuk. Bu bölümde ise kaldığımız yerden bean’ların scope yönetimi ile devam edelim. Scope Yönetimi Tapestry’de varsayılan olarak servisler’in scope’u Spring’de de olduğu gibi Singleton olarak belirlenmektedir. Yani servis için tek bir instance yaratılmakta ve tüm threadler bu instance’i kullanmaktadır. […]

Read More →