Hibernate, JPA Nedir?

Metin Topcu
2 min readMar 25, 2023

Hibernate

Hibernate java ile relational databaseler arasında bağlantı kuran ORM aracdır. Uygulamamızda SQL sorgularını kullanmamıza gerek kalmadan, uzun uzun kod yazmak zorunda kalmadan veritabanı ile iletişim kurmak mümkün. Hibernate kullanmak için düz hibernate kullanılabilir veya JPA standardı ile de hibernate kullanabiliriz. JPA standardı ile kullanılması en doğrusudur. İleri bir zamanda eğer hibernate değil de eclipseLink vs. kullanılacak denilirse zaten standarda uyduğumuz için bir maliyeti olmayacaktır.

JPA (Java Persistence Api) bir standart’tır, Hibernate ise bir JPA uygulaması(implementasyonu) olduğunu aklımızdan çıkarmayalım.

https://javabydeveloper.com/orm-object-relational-mapping/

JPA (Java Persistence API)

Java tabanlı ORM araçlarına standart oluşturmak için hazırlanmıştır. Aynı işi farklı metot ismi-yöntemlerle yapan ORM araçları belirli bir standart’ın olmayışı kütüphane karmaşıklığına neden olmaktadır. Java topluluğu bu karmaşıklığı ortadan kaldırmak için Java ORM kütüphane standartlarını JPA olarak belirlemiştir.

Java da birkaç tane standart vardır ancak JPA en çok kullanılanıdır. Java Persistence API herhangi bir java nesnesinin veri tabanındaki ilişkisel bir tabloya eklenebilmesini, o tablodan okunabilmesi gibi çeşitli özellikler sağlar. Hibernate, EclipseLink vs. ORM’ler bir araya gelip bir standart oluştururlar. Bu standarda uyarak özel sorgular yazmadıysak, database fark etmeksizin çalışmasını sağlamış olacağız. Aynı sorgu Oracle, MySQL veya PostgreSQL’de çalışacaktır.

Hibernate Kullanımı

Bir maven projesine Maven Repository’den Hibernate CORE adlı kütüphaneyi aşağıdaki bloğu POM.XML ‘e ekleyip UPDATE etmemiz yeterli olacaktır.

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.27.Final</version>
</dependency>

Örnek Kodlama

Burada öğrenci class’ından ogr nesnesi oluşturduk. ogr.set komutu ile içerisini doldurduk. session.save() ile kaydettik ve transaction.commit komutu ile veritabanın da tablo oluşturuldu. session.close komutunu işlerimiz tamamlandıktan sonra kullandık ve veritabanı ile java arasındaki bağlantıyı sonlandırdık.

JPA Kullanımı

Öncelikle JPA metot, sınıf ve arayüz tanımlarının yer aldığı javax.persistence-x.x.x.jar dosyası projeye eklenir.

JPA kurallarını uygulayan ORM aracına ait dosya projeye eklenir.

Son olarak kullanılacak olan JDBC sürücü dosyası projeye eklenir.

Gerekli olan dosyalar maven tabanlı proje ile aşağıdaki gibi kolayca eklenebilir.

JPA şartnamesi projeye eklenir.

<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.2.1</version>
</dependency>

Herhangi bir ORM aracı projeye eklenir.

<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.0.0.Alpha5</version>
</dependency>

Kullanılacak olan veritabanı sürücüsü projeye eklenir.

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
</dependency>

Bu yazımda bir çok web sitesinden faydalandım bunlar;

--

--