ความแตกต่างระหว่าง JDBC และ Hibernate

Anonim

JDBC vs. Hibernate

การเชื่อมต่อฐานข้อมูล Java (หรือที่เรียกว่า JDBC) เป็น API ที่สร้างขึ้นเฉพาะสำหรับภาษาการเขียนโปรแกรม Java. จะกำหนดวิธีการที่ไคลเอ็นต์สามารถเข้าถึงฐานข้อมูลโดยการจัดหาวิธีการสอบถามและอัพเดตข้อมูลในฐานข้อมูล เป็นเชิงมากขึ้นโดยเฉพาะต่อฐานข้อมูลเชิงสัมพันธ์ เป็นครั้งแรกที่เปิดตัวสู่ตลาดในฐานะส่วนหนึ่งของ Java 2 Platform, Standard Edition, รุ่น 1 1 (หรือ J2SE) ถูกรวมเข้าด้วยกันกับการใช้งานการอ้างอิง JDBC ไปยัง ODBC bridge ทำให้สามารถเชื่อมต่อกับ API ไปยังแหล่งข้อมูลที่สามารถเข้าถึง ODBC ได้ในสภาพแวดล้อมของโฮสต์ JVM

Hibernate เป็นไลบรารีแผนที่เชิงวัตถุ (หรือห้องสมุด ORM) ที่สร้างขึ้นโดยเฉพาะสำหรับภาษา Java เป็นกรอบสำหรับการทำแผนที่แบบจำลองโดเมนเชิงวัตถุให้เป็นฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม นอกจากนี้ยังแก้ปัญหาความไม่สอดคล้องของความสัมพันธ์ระหว่างวัตถุกับตัวต้านทานนั่นคือปัญหาที่ระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ (RDBMS) กำลังถูกใช้โดยโปรแกรมที่เขียนขึ้นในภาษาหรือรูปแบบการเขียนโปรแกรมเชิงวัตถุ สามารถทำได้โดยการแทนที่การเข้าใช้ฐานข้อมูลที่เกี่ยวข้องกับการทำงานที่มีอยู่ในระดับสูง เป็นซอฟต์แวร์โอเพนซอร์สและแจกจ่ายภายใต้สัญญาอนุญาตแบบสาธารณะทั่วไปของ GNU

JDBC ทำงานโดยอนุญาตให้มีการใช้งานหลากหลายรูปแบบเพื่อใช้งานและใช้โดยแอพพลิเคชั่นเดียวกัน เป็นกลไกที่แพ็คเกจ Java ถูกต้องโหลดแบบไดนามิกและลงทะเบียนกับ JDBC Driver Manager ซึ่งใช้เป็นโรงงานเชื่อมต่อซึ่งจะสร้างการเชื่อมต่อ JDBC การเชื่อมต่อเหล่านี้สนับสนุนการสร้างและการปฏิบัติตามคำชี้แจง พวกเขาอาจจะปรับปรุงงบ (SQLs CREATE, REPLACE, UPDATE และ DELETE เป็นต้น) อาจเป็นข้อความค้นหาเช่น SELECT การเชื่อมต่อ JDBC อาจเรียกใช้กระบวนงานที่จัดเก็บไว้นั่นคือขั้นตอนเหล่านั้นที่เก็บอยู่ในพจนานุกรมข้อมูลฐานข้อมูล

Hibernate ทำหน้าที่หลักในการทำแผนที่จากชั้น Java ไปยังตารางฐานข้อมูลรวมทั้งจากชนิดข้อมูลของ Java ไปจนถึงชนิดข้อมูล SQL นอกจากนี้ยังมีข้อมูลการสืบค้นและค้นคืนสิ่งอำนวยความสะดวก มันสามารถที่จะสร้างการเรียก SQL ซึ่งช่วยบรรเทานักพัฒนาจากการตั้งค่าการจัดการด้วยตนเองและการแปลงอ็อบเจ็กต์ ซึ่งจะช่วยให้แอ็พพลิเคชันแบบพกพาไปยังฐานข้อมูล SQL ทั้งหมดที่ได้รับการสนับสนุนผ่านไลบรารี แผนที่จะแปลงข้อมูล Java ไปยังตารางฐานข้อมูลโดยการกำหนดค่าไฟล์ XML (ซึ่ง Hibernate สามารถสร้างซอร์สโค้ดโครงกระดูกสำหรับชั้นเรียนที่ยังมีอยู่) หรือใช้ Java Annotation Hibernate ยังสนับสนุนการทำแผนที่ของประเภทค่าที่กำหนดเองซึ่งจะทำให้สถานการณ์เฉพาะสาม ได้แก่ การเอาชนะประเภท SQL ดีฟอลต์ที่เลือกโดย Hibernate เมื่อแมปคอลัมน์กับพร็อพเพอร์ตี้ การทำแผนที่ Java Enum ไปยังคอลัมน์เหมือนกับว่าเป็นสมบัติประจำ และการทำแผนที่คุณสมบัติเดียวกับหลายคอลัมน์

สรุป:

1. JDBC เป็น API ที่กำหนดว่าไคลเอ็นต์สามารถเข้าถึงฐานข้อมูลได้อย่างไร Hibernate เป็นไลบรารีอ๊อพที่จัดเตรียมกรอบสำหรับการทำแผนที่แบบจำลองโดเมนเชิงวัตถุให้เป็นฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม

2 JDBC ช่วยให้การใช้งานต่างๆมีอยู่และโดยใช้โปรแกรมเดียวกัน แผนที่ไฮเบอร์เนตจากชั้นเรียน Java ไปยังตารางฐานข้อมูล