JDBC ve Hibernate Arasındaki Fark
JDBC vs. Hazırda Bekleme
Java Database Connectivity (JDBC olarak da bilinir), özellikle Java programlama dili için yapılmış bir API'dir. Bir istemcinin bir veritabanındaki verileri sorgulama ve güncelleme yöntemleri sağlayarak bir veritabanına nasıl erişebileceğini tanımlar. Daha spesifik olarak ilişkisel veritabanlarına yöneltilmiştir. İlk olarak Java 2 Platform, Standard Edition, sürüm 1. 1 (veya J2SE) kapsamında pazara sunuldu. ODBC köprüsüne bir başvuru uygulaması olan JDBC ile birlikte paketlendi ve API ile JVM ana bilgisayar ortamındaki herhangi bir ODBC erişilebilir veri kaynağına bağlantı sağlandı.
Hibernate, özellikle Java dili için yapılmış bir nesne tabanlı haritalama kütüphanesi (veya ORM kütüphanesi) 'dir. Nesneye yönelik alan modelini geleneksel bir ilişkisel veritabanına eşlemek için bir çerçeve sağlar. Ayrıca, nesne ilişkisel empedans uyuşmazlığı sorunlarını da çözmektedir. Bu, bir ilişkisel veritabanı yönetim sisteminin (veya RDBMS) nesneye yönelik bir programlama dilinde veya stilde yazılan bir program tarafından kullanıldığı problemlerdir. Doğrudan sebat ile ilgili veritabanı erişimlerini üst düzey işleme işlevleriyle değiştirerek bunu gerçekleştirir. Ücretsiz, açık kaynaklı bir yazılımdır ve GNU Daha Az Genel Kamu Lisansı altında dağıtılmaktadır.
JDBC, çeşitli uygulamaların varolmasına ve aynı uygulama tarafından kullanılmasına izin vererek çalışır. Doğru Java paketlerinin dinamik olarak yüklenip JDBC Bağlantıları oluşturan bir bağlantı fabrikası olarak kullanılan JDBC Sürücü Yöneticisine kayıtlı olduğu bir mekanizma sağlar. Bu bağlantılar ifadelerin oluşturulmasını ve yürütülmesini destekler. Güncelleme ifadeleri olabilir (SQL'ler CREATE, REPLACE, UPDATE ve DELETE gibi). SELECT gibi sorgu ifadeleri de olabilirler. Bir JDBC bağlantısı da saklı yordamları, diğer bir deyişle veritabanı veri sözlüğünde saklanan yordamları çağırabilir.
Hibernate öncelikle Java sınıflarından veritabanı tablolarına, ayrıca Java veri türlerinden SQL veri türlerine eşleme işlevleri görür. Aynı zamanda veri sorgusu ve alma olanakları da sağlar. SQL çağrıları üretebilir, böylece geliştiriciyi manuel sonuç kümesi işleme ve nesne dönüştürme işleminden kurtarabilirsiniz. Bu, uygulamayı kütüphane aracılığıyla desteklenen tüm SQL veritabanlarına taşınabilir tutar. Bir XML dosyasını (Hibernate'in kalıcılık sınıfları için iskelet kaynak kodu üretebildiği) yapılandırarak veya Java Açıklaması (eski eylemi tartışmayı oluşturan) kullanarak Java sınıflarını veritabanı tablolarına eşleştirir. Hibernate ayrıca, üç özel senaryoyu mümkün kılan özel değer türlerinin haritalanmasını desteklemektedir: Hibernate tarafından bir sütuna bir mülkle eşleştirilirken seçilen varsayılan SQL türünün geçersiz kılınması; Java Enum'u sanki normal özelliklermiş gibi sütunlara eşlemek; ve tek bir mülkün birden çok sütuna eşlenmesi.
Özet:
1. JDBC, bir istemcinin bir veritabanına nasıl erişebileceğini tanımlayan bir API'dir; Hibernate, nesneye yönelik alan modelini geleneksel bir ilişkisel veritabanına eşlemek için bir çerçeve sağlayan bir ORM kitaplığıdır.
2. JDBC, çeşitli uygulamaların varolmasına ve aynı uygulama tarafından kullanılmasına izin verir; Hibernate, Java sınıflarından veritabanı tablolarına eşleme yapar.