Hibernate – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
שורה 33: שורה 33:
* [[Enterprise JavaBeans]]
* [[Enterprise JavaBeans]]
* [[סריאליזציה]]
* [[סריאליזציה]]
* [[Spring Framework]]


== קישורים חיצוניים ==
== קישורים חיצוניים ==

גרסה מ־02:10, 12 במאי 2013

ערך זה נמצא בתהליך עבודה מתמשך.
הערך פתוח לעריכה.
אתם מוזמנים לבצע עריכה לשונית, ויקיזציה וסגנון לפסקאות שנכתבו, וכמו כן לעזור להרחיב ולהשלים את הערך.
ערך זה נמצא בתהליך עבודה מתמשך.
הערך פתוח לעריכה.
אתם מוזמנים לבצע עריכה לשונית, ויקיזציה וסגנון לפסקאות שנכתבו, וכמו כן לעזור להרחיב ולהשלים את הערך.


שגיאות פרמטריות בתבנית:תוכנה

פרמטרים [ אתר בית, לוגו ] לא מופיעים בהגדרת התבנית

Hibernate
מפתח Red Hat
מחזור חיים 2001–הווה (כ־23 שנים) עריכת הנתון בוויקינתונים
גרסה אחרונה 4.1.9 (13 בדצמבר 2012)
מערכת הפעלה חוצה פלטפורמות (JVM)
נכתבה בשפות Java עריכת הנתון בוויקינתונים
סוג רישיון הרישיון הציבורי הכללי המוקטן של גנו
קוד מקור https://github.com/hibernate/hibernate-orm עריכת הנתון בוויקינתונים
קטגוריה מיפוי אובייקטי-רלציוני
hibernate.org
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

Hibernate (הייברנייט) היא ספריית Java למיפוי אובייקטי-רלציוני (object-relational mapping - ORM), המספקת תשתית למיפוי (התאמה) בין מודל התכנות מונחה-עצמים, לבין בסיסי נתונים יחסיים מסורתיים. כאשר כותבים קוד העוסק בשימור נתונים (persistence), הייברנייט פותרת את בעיות חוסר ההתאמה בין מודל האובייקטים (תכנות מונחה-עצמים) למודל הרלציוני (בסיסי נתונים המורכבים מטבלאות), באמצעות החלפת הגישה הישירה לבסיס הנתונים, בשימוש בפונקציות high-level המטפלות באובייקטים. באנגלית, השם הכולל לקבוצת הבעיות הנובעות מחוסר ההתאמה בין מודל האובייקטים למודל הרלציוני הוא The object-relational impedance mismatch.

השירות המרכזי ש-Hibernate מספקת הוא מיפוי בין מחלקות Java לטבלאות של בסיסי נתונים (ומיפוי בין טיפוסי הנתונים של Java לטיפוסי נתונים של SQL). כמו כן, Hibernate מספקת אמצעים לביצוע שאילתות ואחזור נתונים, והיא יודעת ליצור את קריאות ה-SQL בעצמה. Hibernate מנסה להקל על עבודת המתכנת בכך שהיא חוסכת ממנו את הצורך בטיפול ידני ב-result sets (המידע המוחזר מביצוע שאילתה על בסיס נתונים), וביצוע המרות בין אובייקטים. השימוש ב-Hibernate מאפשר ליישום להיות פורטבילי (יביל) בין כל בסיסי הנתונים מבוססי SQL הנתמכים על ידי הספרייה, תוך תקורת ביצועים לא גבוהה.

Hibernate היא תוכנה חופשית המופצת תחת הרישיון הציבורי הכללי המוקטן של גנו.

מיפוי

המיפוי בין מחלקות ג'אווה לטבלאות של בסיס נתונים מבוצע באמצעות קונפיגורציה של קובץ XML או על ידי שימוש באנטוציות ג'אווה (Java annotations). כאשר משתמשים בקובץ XML, הייברנייט יכולה ליצור שלד של קוד מקור עבור מחלקות ה-persistence. כאשר משתמשים באנוטציות אין בכך צורך. כמו כן, הייברנייט יכולה להשתמש בקובץ ה-XML או באנוטציות כדי לתחזק את הסכמה של בסיס הנתונים.

הייברנייט מאפשרת לארגן יחסים מסוג "יחיד-לרבים" (one-to-many) ו"רבים-לרבים" (many-to-many) בין מחלקות. בנוסף לניהול הקשרים בין אובייקטים, הייברנייט יכולה לנהל גם יחסים רפלקסיביים בין אובייקטים, בהם לאובייקט יש יחס של "יחיד-לרבים" עם מופעים אחרים מאותו טיפוס נתונים.

הייברנייט תומכת במיפוי של ערכים מטיפוסים מורכבים, מה שמאפשר:

  • לדרוס את טיפוס ברירת המחדל של SQL שהייברנייט בוחרת בו כאשר היא ממפה עמודה בטבלה למשתנה מחלקה (property).
  • מיפוי enum של ג'אווה לעמודות כאילו שהם משתני מחלקה רגילים.
  • מיפוי של משתנה מחלקה יחיד לכמה עמודות.

ראו גם

קישורים חיצוניים