Merhaba arkadaşlar bu yazımla Hibernate konusuna giriş yapacağım. Bu yazıda Hibernate nedir? Ne için kullanılır? Ve Hibernate projesi nasıl oluşturulur? Konularını anlatacağım.
Hibernate Nedir?
Hibernate bir JPA implantasyonudur. Yani JPA üzerine JPA kurallarını uygulayan, ORM(ORM tanımına şu yazıdan erişebilirsiniz) mantığını kullanan bir frameworktür.
Ne İçin Kullanılır?
Sınıflarımızı ORM mantığından yararlanarak kalıcı hale getirmek için kullanırız.
Hibernate Projesi Nasıl Oluşturulur?
Ben İDE olarak Eclipse kullanarak dersleri anlatacağım. Bir Java projesi başlatarak projeyi convert to maven diyerek maven projesine çevirelim ve şu bağımlılıkları ekleyelim.
1 2 3 4 5 6 7 8 9 10 |
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.3.2.Final</version> </dependency> |
Maven install ettikten sonra projemizi JPA projesine çevirelim ve Persistence.xml dosyamızı oluşturalım. Persistence.xml dosyasında Hibernate.cfg.xml dosyasını tanımlayalım. Eğer varsa onu seçelim yoksa yeni oluşturalım. Şimdi model sınıfımızı oluşturalım:
Personel.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package _001_model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Personel { @Id private int id; private String isim; private String soyisim; private String adres; public Personel(int id, String isim, String soyisim, String adres) { this.id = id; this.isim = isim; this.soyisim = soyisim; this.adres = adres; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getIsim() { return isim; } public void setIsim(String isim) { this.isim = isim; } public String getSoyisim() { return soyisim; } public void setSoyisim(String soyisim) { this.soyisim = soyisim; } public String getAdres() { return adres; } public void setAdres(String adres) { this.adres = adres; } } |
@Entity => Kalıcı hale getirmek istenilen sınıfı belirtmek için kullanılır.(Kullanmak zorunludur.)
@Id => Kalıcı hale getirilmek istenen sınıfta id olarak kullanılır.(Kullanmak zorunludur.)
Şimdi Hibernate.cfg.xml dosyasına bakalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.password">19961903</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate-test</property> <property name="hibernate.connection.username">root</property> <mapping class="_001_model.Personel"/> </session-factory> </hibernate-configuration> |
Hibernate.cfg.xml dosyasında veritabanı bağlantı bilgilerimizi yönetiriz. Görüldüğü üzere MySql driver,kullanıcıadı ve şifre belirtilmiştir.
Mapping => Kalıcı hale getirmek istenilen dosyalar belirtilir.
SessionFactory => Hibernate configuration dosyamızı bağlanarak Session üretmek için kullanılan sınıftır.
Session => Veritabanı işlemlerini yapmak için kullanılır.
Transaction => Bir işlem süreci tanımlamak ve yönetmek için kullanılır.
Bu yazımı burada bitiriyorum diğer yazılarımda görüşmek üzere…
Kaynak kodlara buradan erişebilirsiniz…