Kayıtlar

Hibernate etiketine sahip yayınlar gösteriliyor

Hibernate Ders08 - Inheritance Mapping - V

Resim
Altsınıf başına tablo örneğini yapalım.


Main.java
package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; publicclass Main { publicstaticvoid main(String[] args) { Configuration cfg=new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory=cfg.buildSessionFactory(); Session session=factory.openSession(); Transaction t=session.beginTransaction(); Personel p = new Personel(); p.setAd("enes"); Maas m = new Maas(); m.setAd("enes2"); m.setMaas(3500); Araba a = new Araba(); a.setAd("enes3"); a.setMarka("opel"); a.setModel("astra"); session.persist(p); session.persist(m); session.persist(a); t.commit(); session.close(); System.out.println("basarili islem !");
Personel.java
package test; publicclass Personel { privateint id; p…

Hibernate Ders07 - Inheritance Mapping - IV

Resim
Sınıf başına bir tablo örneğini notasyonla yapalım.

Main.java
package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; publicclass Main { publicstaticvoid main(String[] args) { Configuration cfg=new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory=cfg.buildSessionFactory(); Session session=factory.openSession(); Transaction t=session.beginTransaction(); Personel p = new Personel(); p.setAd("enes"); Maas m = new Maas(); m.setAd("enes2"); m.setMaas(3500); Araba a = new Araba(); a.setAd("enes3"); a.setMarka("opel"); a.setModel("astra"); session.persist(p); session.persist(m); session.persist(a); t.commit(); session.close(); System.out.println("basarili islem !"); } }
Personel.java
package test; import javax.persistence.C…

Hibernate Ders06 - Inheritance Mapping - III

Resim
Sınıf başına bir tablo örneği iki şekilde yapılabilir.
Union altsınıf elemanları ile Her sınıf için kendi tablosu ile


Main.java
package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; publicclass Main { publicstaticvoid main(String[] args) { Configuration cfg=new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory=cfg.buildSessionFactory(); Session session=factory.openSession(); Transaction t=session.beginTransaction(); Personel p = new Personel(); p.setAd("enes"); Maas m = new Maas(); m.setAd("enes2"); m.setMaas(3500); Araba a = new Araba(); a.setAd("enes3"); a.setMarka("opel"); a.setModel("astra"); session.persist(p); session.persist(m); session.persist(a); t.commit(); session.close(); System.out.println("basarili islem !")…

Hibernate Ders05 - Inheritance Mapping - II

Resim
Inheritance mapping - I 'de yaptığımız örneği şimdi notasyon kullanarak yapacağız.

Main.java
package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; publicclass Main { publicstaticvoid main(String[] args) { Configuration cfg=new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory factory=cfg.buildSessionFactory(); Session session=factory.openSession(); Transaction t=session.beginTransaction(); Personel p = new Personel(); p.setAd("enes"); Maas m = new Maas(); m.setAd("enes2"); m.setMaas(3500); Araba a = new Araba(); a.setAd("enes3"); a.setMarka("opel"); a.setModel("astra"); session.persist(p); session.persist(m); session.persist(a); t.commit(); session.close(); System.out.println("basarili islem !"); } }
Personel.java
package…

Hibernate Ders04 - Inheritance Mapping - I

Resim
Veritabanı tabloları ile kalıtım sınıfları haritalanabilir.

Hibernatede 3 çeşit kalıtım haritalama stratejisi vardır.
Hiyerarşi başına tablo (I-II. indisli konuda mevcut )Somut sınıf başına tablo (III-IV. indisli konuda mevcut )Alt sınıf başına tablo (V-VI. indisli konuda mevcut ) Hiyerarşi başına tablo haritalamada tüm hiyerarşi başına sadece tek tablo gereklidir
Discriminator yani ayırıcı olarak bilinen ekstra bir kolon sınıfı tanıyabilmek için gereklidir. Fakat nullable değerler tabloda depolanır.

Somut sınıf başına tabloda, her sınıf başına tablo oluşturulur. Fakat kopya kolonlar alt tablolara eklenir.

Altsınıf başına tabloda, her sınıf için bir tablo foreign key yani bir yabancı anahtarla oluşturulur. Bu yüzden kopya kolonlar olmaz.

Şimdi aşağıdaki diyagrama uygun bir örnek yapacağız.



Hiyerarşi başına bir tablo örneği

Main.java
package test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration…

Hibernate Ders03 - Notasyon Kullanımı

Resim
Hibernate uygulamaları notasyon yardımıyla yapılabilir.Notasyonlar JPA2’ye dayanır.
Tüm JPA2 notasyonları javax.persistence.* paketinde bulunur.
Notasyon kullanımının en büyük avantajı mapping (haritalama) dosyasının oluşturulmasına gerek kalmamasıdır.

Configuration dosyasında ;
<mapping resource="hibernate.hbm.xml"/>  yerine
<mapping class="test.Sinif"/> yapılması yeterlidir.

Calisanlar.java
package test; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="CalisanlarinTablosu2") publicclass Calisanlar { @Id privateint id; private String ad; publicint getId() { return id; } publicvoid setId(int id) { this.id = id; } public String getAd() { return ad; } publicvoid setAd(String ad) { this.ad = ad; } }

hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hi…

Hibernate Ders02 - İlk Hibernate Projesi

Resim
Eclipse üzerinden File-> New -> Project -> Java Project yolu izlenerek yeni bir proje açılır.

Gerekli .jar dosyaları buradan indirilebilir.

http://hibernate.org/orm/downloads/

İndiilen dosyadan lib -> required klasörü içerisindeki .jarlar projeye eklenir.

Program aşamaları
Java sınıfı oluşturulur. Java sınıfı için bir adet (mapping) haritalama dosyası oluşturulur. Yapılandırma (Configuration) dosyası oluşturulur. İşlemlerin yapılacağı başka bir sınıf oluşturulur.(main sınıfı) Calisanlar.java
package test; publicclass Calisanlar { privateint id; private String ad; publicint getId() { return id; } publicvoid setId(int id) { this.id = id; } public String getAd() { return ad; } publicvoid setAd(String ad) { this.ad = ad; } }

hibernate.hbm.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/…

Hibernate Ders01 - Hibernate'e Giriş

Hibernate java uygulamalarının veritabanı ile etkileşimini kolaylaştıran bir frameworktür.

Hibernate açık kaynak kodludur ve orm yani object relational mapping aracıdır.