המצגת נטענת. אנא המתן

המצגת נטענת. אנא המתן

© Keren Kalif JPA קרן כליף.

מצגות קשורות


מצגת בנושא: "© Keren Kalif JPA קרן כליף."— תמליל מצגת:

1 © Keren Kalif JPA קרן כליף

2 ביחידה זו נלמד: מהו JPA JPQL Criteria API

3 מהו JPA? Java Persistence API – API המגדיר עבודה מול DB
זהו ממשק המגדיר ישויות (Entity) שכל אחת באופן אוטומטי יוצרת טבלה ב- DB כלומר, ה- DB נוצר באמצעות annotation בשפת JAVA תוך כדי ריצה ישנם כל מיני מימושים ל- JPA, למשל hibernate

4 חיבור ל- SqlServer בכרטיסית services  מקש ימני על Databases  Register My SQL Server

5 חיבור ל- SqlServer מקש ימני  Connect מקש ימני  Create Databse

6 במידה ומבקש קונפיגורציה..
ה- service של MySql צריך לרוץ. ניתן להריצו דרך ה- XAMPP. לשים לב שה- service של ה- apache גם צריך לרוץ.

7 יצירת הפרוייקט נוסיף לפרוייקט את ה- lib שנקרא MySql JDBC Driver
בתוך הפרוייקט נייצר קובץ מטיפוס :Entity Class

8

9 persistence.xml

10 הקובץ שנוצר: ציון שזוהי מחלקה שתהייה עבורה טבלה ב- DB
ציון שזהו שדה שערכו ינתן באופן סדרתי אוטומטי

11 עדכון המחלקה ציון ששדה זה יהיה עמודה בטבלה, ניתן גם ללא annotation זה
ציון ששדה זה יהיה עמודה בטבלה עם השם שצויין למחלקה המסומנת כ- Entity חייב להיות default c’tor

12 קישור ל- persistency unit המוגדרת ב- persistence.xml
ה- main קישור ל- persistency unit המוגדרת ב- persistence.xml לשמירת האובייקט c1 ב- DB

13 תחת ה- DB נוצרה טבלה כשם המחלקה, ובה השדות שהגדרנו במחלקה
תוצר הרצת ה- main תחת ה- DB נוצרה טבלה כשם המחלקה, ובה השדות שהגדרנו במחלקה מקש ימני על שם הטבלה  View Data

14 חיפוש רשומה

15 העדכון יבוצע בין ה- begin ל- commit
עדכון רשומה העדכון יבוצע בין ה- begin ל- commit

16 מחיקת רשומה

17 אובייקט מוכל ניתן להחליף ואז לא ניתן לשמור אובייקט כזה בפני עצמו ל- DB (לא תיווצר טבלה)

18 שדות האובייקט המוכל ישמרו בטבלאת האובייקט המכיל
אובייקט מכיל שדות האובייקט המוכל ישמרו בטבלאת האובייקט המכיל

19 ניתן לראות בטבלה student את שדות Address
ה- main ניתן לראות בטבלה student את שדות Address

20 במקרה זה ישמר בטבלאת person רק המפתח הראשי של ה- Address
@OneToOne במקרה זה ישמר בטבלאת person רק המפתח הראשי של ה- Address נשים לב שמקרה כזה המחלקה Address צריכה להיות מסומנת ולא

21 @OneToOne - הטבלאות

22 @OneToMany

23 ובאופן דומה ניתן להשתמש גם ב- @ManyToOne וב- @ManyToMany
@OneToMany - התוצרים OneToOne OneToMany ובאופן דומה ניתן להשתמש גם

24 שאילתות ישנם 2 סוגים של שאילתות: ישנם 2 מנגנונים לשאילתות ב- JPA:
static queries – שאילתות קבועות, ללא פרמטרים dynamic queries – שאילתות המקבלות פרמטרים ישנם 2 מנגנונים לשאילתות ב- JPA: JPQL – Java Persistence Query שפת שאילתות הדומה ל- SQL ומבוססת על סכימת הישויות והקשרים בינהן מפוענחות בזמן קומפילציה עדיפות לשימוש עבור static queries Criteria Query מפוענחות בזמן ריצה עדיפות לשימוש עבור dynamic queries

25 JPQL – Java Persistence Query Language
ישנם 2 דרכים להפעלת השאילתות: createQuery – הגדרת השאילתא בתוך המתודות, לרוב עבור שאילתות דינאמיות createNameQuery – הגדרת מאפייני השאילתא כתכונה במחלקה ושימוש בהמשך, לרוב עבור שאילתות סטטיות

26 הגדרת NamedQuery הגדרת NamedQuery: מתחת

27 שימוש ב- Queries שימוש ב- NamedQuery שימוש ב- Query

28 Positional Parameters - הגדרה
לפני מספר הפרמטר יבוא "?"

29 Positional Parameters - שימוש

30 Criteria Queries מפוענחות בזמן ריצה, לכן עדיפות לשימוש עבור dynamic queries

31 יצירת המחלקות מה- DB בהינתן DB, ניתן לייצר את התהליך ההפוך ולקבל את המחלקות:

32 לבדוק פרוייקט JPA ב- Web-Application

33 ביחידה זו למדנו:


הורד את "ppt "© Keren Kalif JPA קרן כליף.

מצגות קשורות


מודעות Google