ההבדל בין JPA למצב שינה

Anonim

JPA לעומת מצב שינה

כמעט כל היישומים הארגוניים נדרשים לגשת למסדי נתונים יחסיים באופן קבוע. אבל בעיה העומדת בפני טכנולוגיות קודמות (כגון JDBC) היתה אי התאמה בין עכבה (הבדל בין טכנולוגיות מונחות עצמים לטכנולוגיות יחסיים). פתרון לבעיה זו הוכנס באמצעות הקדמה של שכבת מופשטים בשם שכבת התמדה, אשר encapsulates גישה למסד הנתונים מן ההיגיון העסקי. JPA (Java ההתמדה API) היא מסגרת המוקדש לניהול נתונים יחסיים (באמצעות שכבת התמדה) ביישומי Java. ישנם יישומי הספק רבים של JPA בשימוש בתוך הקהילה מפתח ג 'אווה. מצב שינה הוא היישום הנפוץ ביותר של JPA (DataNucleus, EclipseLink ו- OpenJPA הם אחרים). הגרסה החדשה ביותר של JPA (JPA 2. 0) נתמכת במלואה על ידי מצב שינה 3. 5, אשר שוחרר במרץ 2010.

-> ->

מהו JPA?

JPA היא מסגרת לניהול נתונים יחסיים עבור Java. זה יכול לשמש עם יישומים ניצול JSE (פלטפורמת Java, Standard Edition) או JEE (פלטפורמת Java, Enterprise Edition). הגרסה הנוכחית שלה היא JPA 2. 0, אשר שוחרר ב 10 דצמבר, 2009. JPA החליף EJB 2. 0 ו EJB 1. 1 שעועית ישות (אשר היו ביקורת חריפה על היותו כבד על ידי קהילת המפתחים ג 'אווה). למרות שעועית ישות (ב EJB) סיפקו אובייקטים התמדה, מפתחים רבים שימשו שימוש אובייקטים קל יחסית המוצעים על ידי DAO (Data Access Objects) ומסגרות דומות אחרות במקום. כתוצאה מכך, הציג את JPA, והוא תפס רבים של תכונות מסודר של המסגרות שהוזכרו לעיל.

ההתמדה כמתואר ב- JPA מכסה את ה- API (מוגדר ב- javax.) התמדה, JPQL (פלטפורמת Java, Enterprise Edition) ומטא נתונים הדרושים לאובייקטים יחסיים. מצב של ישות התמדה הוא המשיך בדרך כלל אל שולחן. מופעים של ישות תואמים לשורות של מסד הנתונים היחסי. מטא נתונים משמשים להביע את היחסים בין ישויות. הערות או קבצים נפרדים של מתארי XML (הפרוסים ביישום) משמשים לציון מטא נתונים בכיתות ישויות. JPQL, הדומה לשאילתות SQL, משמשים לשאילתות מאוחסנות בשאילתה.

-> ->

מהו מצב שינה?

מצב שינה הוא מסגרת שניתן להשתמש בה עבור מיפוי יחסי אובייקט המיועד לשפת תכנות Java. באופן ספציפי יותר, זוהי ספריית ORM (יחסי אובייקט), שניתן להשתמש בה כדי למפות מודל של יחסי אובייקט למודל יחוס מקובל. במילים פשוטות, הוא יוצר מיפוי בין מחלקות ג 'אווה טבלאות במסדי נתונים יחסיים, גם בין ג' אווה ל סוגי נתונים SQL. מצב שינה יכול לשמש גם עבור שאילתות נתונים ואחזור על ידי יצירת שיחות SQL.לכן, המתכנת הוא משוחרר מן הטיפול הידני של קבוצות תוצאות ואובייקטים המרת. Hibernate משוחררת כמסגרת חופשית וקוד פתוח המופצת תחת רישיון GNU. יישום עבור ממשק API של JPA מסופק במצב שינה 3. גרסאות מתקדמות יותר. Gavin המלך הוא המייסד של מצב שינה.

מה ההבדל בין JPA למצב שינה?

JPA היא מסגרת לניהול נתונים יחסיים ביישומי Java, ואילו מצב שינה הוא יישום ספציפי של JPA (כך באופן אידיאלי, JPA ו- Hibernate לא ניתן להשוות ישירות). במילים אחרות, מצב שינה הוא אחד המסגרות הפופולריות ביותר מיישמת JPA. Hibernate מיישמת את JPA באמצעות Hibernate Annotation ו- EntityManager, המיושמות על גבי ספריות הליבה של מצב שינה. הן EntityManager והן הערות מוסיפים לעקוב אחר מחזור החיים של מצב שינה (Hibernate). הגרסה החדשה ביותר של JPA (JPA 2. 0) נתמכת במלואה על ידי מצב שינה 3. 5. JPA יש את היתרון של ממשק כי הוא סטנדרטי, כך קהילת המפתחים יהיה מוכר יותר מאשר שינה. מצד שני, ניתן לייחס את ממשק ה- API של מצב שינה (Hibernate) כבעל תכונות חזקות יותר, מכיוון שתכונותיו הן סוג של סוג של ה- JPA.