Hibernate Ders-5 OneToMany Association(Bire-Çok İlişki)

Merhaba arkadaşlar bu yazımda ilişkisel veritabanı türlerinden ikincisi olan OneToMany(Bire-Çok) ilişkisini anlatacağım.

OneToMany(Bire-Çok) nedir?

Bire-çok ilişkisi veritabanımızdaki bir tablodaki bir kaydın diğer tablomuzda bulunan kayıtlardan birden fazlasıyla ilişki kurmasına denir. Örnek verecek olursak bir personelimiz olsun. Bu personelimizde ait birden fazla adres olabilir. Şimdi bir örnek üzerinde inceleyim.

Persistence.xml dosyamızda kalıcı sınıflarımız ve veritabanı bilgilerimizi tanımladık.

Hibernate ayar dosyamızda gerekli kalıcı sınıflarımız, veritabanı bilgileri ve hibernate  ayarlarını gerekli şekilde tanımladık. Ve tablolarımızı otomatik oluşturmasını istedik.

Adres.java sınıfımızı @Entity ile kalıcı hale getirdik ve @Id ile gerekli tanımlamayı yaptık. @GeneratedValue değerimizin stratejisi olarak Auto tanımlayarak otomatik arttırılmasını istedik.

Personel.java sınıfımıza @Entity ve @Id notasyonlarını ekleyerek kalıcı hale getirdik ve id değişkenimizin @GeneratedValue değerinde stratejisini Auto belirleyerek otomatik artmasını istedik. Burada önemli nokta @OneToMany özelliğini kullanabilmemiz için koleksiyon tanımlamamız lazım ve koleksiyona bu özelliği verebilmemiz. Görüldüğü üzere Adres sınıfı türünden Set kullanarak koleksiyon tanımladık ve bu koleksiyona bire-çok özelliğini verdik. @OneToMany özelliğine Cascade değeri vererek tek bir session işlemiyle işlemimizi yapmamızı sağladık.

Yonetici.java main sınıfımızda nesneleri üretip kalıcı sınıflarımızdaki değişkenlere gerekli değerleri atadık ve Transaction nesnesi ile işlemi başlatarak kaydettik.

Ve en son görüldüğü gibi tablolarımız oluştu ve gerekli kayıtlar kaydedildi.

Görüldüğü üzere bir personele birden fazla adres eklendi ve bire-çok ilişki kurmuş olduk. İyi günler…

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir