Welcome

Hibernate’de Sınıf İlişkileri 6

Bir önceki yazımızda 1:M entity-bileşen türü ilişkileri incelemiştik. Bu yazımızda ise M:N ilişkileri incelemeye başlayacağız. M:N ilişkiler sadece entity’ler arasında olabilir. İlişkili entity’lerin bilgisi veritabanında bir “association tablo“da tutulur. İlişkiler tek veya çift yönlü olabilirler. Eğer çift yönlü bir M:N ilişki varsa, taraflardan birisi bu ilişkiyi yöneten olarak tanımlanmalıdır. Hedef entity’lerin tutulduğu Collection sınıfının türüne […]

Hibernate’de Sınıf İlişkileri 5

Hibernate’de sınıf ilişkilerini incelediğimiz yazı dizimizin bir önceki bölümünde entity’ler arasındaki 1:M türünden ilişkileri ele almıştık. Bu bölümde ise target sınıfı component yani bileşen olan 1:M ilişkileri inceleyeceğiz. Bildiğimiz gibi bileşenler sadece tek bir entity instance’a ait olabilirler ve kendi başlarına var olamazlar. Başka bir ifade ile ait oldukları parent entity instance’ın yaratılmasından sonraki bir […]

Hibernate’de Sınıf İlişkileri 4

Hibernate’deki sınıf ilişkilerini incelediğimiz yazı dizimizin bir önceki bölümünde 1:M ilişkileri incelemeye başlamıştık. Sınıflar arası ilişkilerde en detaylı ilişki türü olan 1:M ilişkileri kaldığımız yerden incelemeye devam edelim. 1:M ilişkilerde kullanılan diğer bir collection tipi ise java.util.List‘dir. List duplikasyona izin verir ve elemanların eklenme sıralarını da korur. Dolayısı ile elemanların liste içerisindeki sırasının veritabanında bir […]

Hibernate’de Sınıf İlişkileri 3

Hibernate ORM Framework’ündeki sınıflar arası ilişki kurma yöntemlerini incelediğimiz yazı dizimize üçüncüsü ile devam ediyoruz. İlk iki yazımızda 1:1 M:1 ilişkileri incelemiştik. Bu bölümde ise 1:M ilişkileri inceleyeceğiz. Öncelikle sadece entity – entity şeklindeki ilişkilere odaklanalım. Daha sonra entity – component arasındaki ilişkilere de bakacağız. İki entity arasında 1:M ilişki kurmak için @OneToMany annotasyonu kullanılır. […]

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 […]

Hibernate’de Sınıf İlişkileri 1

Herhangi bir ORM çözümünün nesne model üzerinden çalışmayı sağlayabilmesi için öncelikle uygulamanın nesne modeli ile veri modeli arasında eşleştirme yapılması gerekir. Bu aşamada; sınıflar ile tablolar property’ler ile sütunlar sınıflar arası ilişkiler ile foreign key’ler java tipleri ile SQL veri tipleri arasında eşleştirmeler yapılır. Bu yazı dizimizde spesifik olarak JPA ve Hibernate’in sınıflar arası ilişkiler […]

Hibernate: Field Level Mı? Getter Level Mı?

Entity’lerin persistent property’lerine Hibernate’nin nasıl erişeceği ile ilgili olarak iki yol mevcuttur. Field level access: JPA/Hibernate mapping tanımları field düzeyinde yapılır, Hibernate field değerlerine reflection’la doğrudan erişir, getter/setter metotlarına ihtiyaç duyulmaz, getter/setter metotlarına iş mantığı ile ilgili kod yazmak da mümkün hale gelir @Entity public class Person { @Id private Long id; @Column(name=”FIRST_NAME”) private String […]

Hibernate 4 ve Multitenancy

Multi-tenant uygulamaları kurumsal yazılım projelerinde hayata geçirmenin üç temel yolu vardır. Birinci yol her bir istemci için tamamen ayrı bir fiziksel veritabanı kullanmaktır. Bu yaklaşımda JDBC veritabanı bağlantıları her bir istemci için ayrı ayrı yönetilmektedir. Bu yönetim veritabanı bağlantı havuzları için de geçerlidir. Uygulamalar sisteme login olmuş kullanıcıya ait “tenant identifier” ile aktif veritabanı bağlantı […]

Hibernate ve Multi-Tenant Uygulamalar

Internet’in yaygınlaşması ve uygulamaların web platformuna taşınması ile birlikte farklı organizasyonlara ait verilerin tek bir sunucu uygulamasında yönetimi üzerine kurulu olan multi-tenant uygulamaların sayısı da gün gittikçe artıyor. Java teknolojileri ile geliştirilen kurumsal uygulamaların pek çoğunda artık ORM teknolojileri tercih edilir hale geldi. ORM çözümlerinden Hibernate, en önde gelen “Persistence Framework” olarak karşımıza çıkıyor. İki […]

Java Dergisi Yazıları

2010 yılında bir girişimle Özcan Acar tarafından hayata geçirilen Java Dergisi malesef kısa bir süre sonra yayın hayatına veda etmişti. O dönemde bende dergiye yazılarımla katkıda bulunuyordum. Derginin ilk iki sayısında yayımlanan ve 3. sayısı için hazırladığım fakat yayımlanma imkanı bulamayan yazılarımı buradan sizlerle tekrardan paylaşmak istedim. Spring_ve_Java_EE_6 Spring_ve_Hibernate_Entegrasyonu Hibernate ve JPAda Cache Kabiliyeti