הורד מצגת
המצגת נטענת. אנא המתן
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
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
ביחידה זו למדנו:
מצגות קשורות
© 2024 SlidePlayer.co.il Inc.
All rights reserved.