Hibernate
-
הטמעת מטמון שכבה שנייה של Hibernate עם NCache
בהדרכה זו, נחקור את ההגדרה של מאגר ההקצאה השני בHibernate בעזרת NCache. נסוג לערך את הJava ונערך את Hibernate. אחר כך, נתגבר על NCache כמאגר ההקצאה השני. בסוף, נבדוק את היישום כדי לראות איך האחסון מוריד את העומס על הבסיס הנתונים ושיפור את הביצועים. בסיסים לפני שאנחנו נעבור ליישום, בואו נבין את הבסיסים של Hibernate, NCache והמאגר ההקצאה השני של Hibernate. Hibernate Hibernate הוא פרטי פתוח למיפוי מערכת-עיצוב (ORM) עבור יישומי Java. הוא מפשט את הפיתוח של אינטראקציות בסיס נתונים…
-
שנה נתוני JSON ב-PGSQL וב-Hibernate 6
זה מאמר נוסף בסדרה שקשורה לתמיכה ב פונקציות JSON בPostgres בפרוייקט שמשתמש בשרשרת Hibernate עם הגירסה 6. הנושא של המאמר הוא פעולות העריכה על רשימות JSON. כמו במאמר הקודם, עלי לציין שPostgres עשוי להיות עכשיו ללא פעולות כה מורחבות כמו במסדרונות NoSQL אחרים כמו MongoDB לעריכת רשימות JSON (למרות זאת, עם היצירה הנכונה של פונקציות, אפשר להשיג את אותו האפקט). עדיין, זה מתאים לרוב הפרוייקטים שצריכים עריכת רשימות JSON. בנוסף, עם תמיכה בעסקה (שאינה קיימת במסדרון NoSQL ברמה כזאת), זה רעיון…
-
מדריך עדכון ל-Spring Boot 3.0 עבור Spring Data JPA ו-Querydsl
לשנה שעברה, כתבתי שני מאמרים על JPA Criteria ו-Querydsl (ראה מבוא ו-מטמול מאמרים). מאז סוף השנה שעברה, הופיעה שחרור חדש מרכזי של Spring Boot 3. שחרור זה מבוסס על Spring Framework 6 עם מספר שינויים משמעותיים ונושאים שעלינו לשקול כאשר אנו עוברים על השיפורים. המטרה של מאמר זה היא להדגיש את השינויים האלה כאשר אנו עוברים על הפרויקט sat-jpa (פרויקט SAT). הטכנולוגיות המשמשות כאן הן: Spring Boot 3.0.2, Hibernate 6.1.6.Final Spring Data JPA 3.0.1 ו- Querydsl 5.0.0. Spring Framework 6.0.4…
-
הייברנייט גט מול לואד
ב-Hibernate, קיים הרעיון של השלכת שורה בודדת. כדי להשיג שורה בודדת בטבלה המתאימה במסד הנתונים, נשתמש באחת מהשיטות הבאות:get() או load(). get() get() תמיד מגיע למסד הנתונים. אם מזהה סידורי נמצא, אזי נקבל את הפרטים המתאימים. דוגמה SwingBowlers swingBowlers = (SwingBowlers) openSession.get(SwingBowlers.class,1); מזהה סידורי הוא 1 (jerSeyNo) –> מפתח ראשי אם ה-ID הסדרה ייבא לא נמצא, אז נקבל את התוצאה כ-null.load() load() תמיד יוצר אובייקט פרוקסי. אם ה-ID הסדרה נמצא, אז נקבל את הפרטים המתאימים. דוגמה SwingBowlers swingBowlers = (SwingBowlers)…
-
איך לשלב את NCache עם JPA Hibernate לקישורה ביישומי Spring Boot
מהו JPA Hibernate? Hibernate הוא אחד המבוססי האובייקט-מיפוי ריאליים (ORM) הפופולריים ביותר עבור יישומים Java ו-Spring. הוא עוזר למפתחים להתחבר ולעבוד עם מסדי נתונים ריאליים מיישומים Java מבלי שיהיו צריכים לכתוב שאילתות SQL. הספרייה מיושמת את המגדר JPA (Java Persistence API) ומספקת מספר תכונות נוספות המאפשרות לפתח את הקבצה ביישומים מהר יותר ויותר קל. קישון ב-JPA Hibernate אחת התכונות המגניבות שמתומכת על ידי Hibernate היא קישון. Hibernate תומך בשני רמות קישון – L1 ו-L2. קישון L1 מופעל כברירת מחדל ופועל…
-
פנקס קפדן ו-JPA Criteria, חלק 6: מדריך עדכון ל-Spring Boot 3.2 עבור פרויקט Spring Data JPA ו-Querydsl
לשנה שעברה, כתבתי את המאמר, "מדריך עדכון ל-Spring Boot 3.0 עבור Spring Data JPA ו-Querydsl," עבור העדכון ל-Spring Boot 3.0.x. כעת, יש לנו Spring Boot 3.2. בואו נראה שתי בעיות שייתכן שתיתקלו בהן בעת העדכון ל-Spring Boot 3.2.2. הטכנולוגיות המשמשות בפרויקט SAT הן: Spring Boot 3.2.2 ו-Spring Framework 6.1.3 Hibernate + ייצור מודל JPA 6.4.1. סופי Spring Data JPA 3.2.2 Querydsl 5.0.0. שינויים כל השינויים ב-Spring Boot 3.2 מתוארים בהערה שידור Spring Boot 3.2 וב-מה חדש בגרסה 6.1 עבור Spring…
-
פונקציות JSON של Postgres עם Hibernate 6
זהו המשך של המאמר הקודם בו תיארו כיצד להוסיף תמיכה בפונקציות JSON של Postgres ולהשתמש ב-Hibernate 5. במאמר זה, נתמקד באיך להשתמש בפעולות JSON בפרויקטים שמשתמשים ב-מסגרת Hibernate עם גרסה 6. תמיכה מקורית ל-Hibernate 6 כבר יש תמיכה טובה בתחביר של שאילתות לפי תכונות JSON כפי שמוצג בדוגמה הבאה: יש לנו את המחלקה הגופנית הרגילה שיש לה תכונה אחת של JSON: Java import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.Type; import org.hibernate.type.SqlTypes; import java.io.Serializable; @Entity…
-
פונקציות JSON של Postgres עם Hibernate 5
מסד נתונים פוסטרגס תומך בכמה סוגים של JSON ופעולות מיוחדות עבור סוגים אלה. במקרים מסוימים, פעולות אלה עשויות להוות אלטרנטיבה טובה למסדי נתונים דוגמניים כמו MongoDB או מסדי נתונים NoSQL אחרים. כמובן, מסדי נתונים כמו MongoDB אולי יהיו בעלי תהליכי שכפול טובים יותר, אך הנושא הזה נמצא מחוץ לטווח של המאמר הזה. במאמר זה, נתמקד באופן שימוש בפעולות JSON בפרויקטים המשתמשים במסד קוד היפרניט עם גרסה 5. דוגמא מודל המודל שלנו נראה כמו הדוגמא להלן: Java @Entity @Table(name =…
-
חיפוש טקסט מלא ב-Postgres עם Hibernate 6
הייברנייט הייברנייט לבדו אינו מספק תמיכה מלאה בחיפוש מלא על הטקסט. הוא צריך להסתמך על תמיכה של מנוע הבסיס של מסד הנתונים או פתרונות של זולתים. הרחבה הנקראת חיפוש הייברנייט משתלבת עם אפפכייט לוסין או אלסטיק חיפוש (יש גם אינטגרציה עם OpenSearch). פוסטגרס לפוסטגרס הייתה תכונה של חיפוש מלא על הטקסט מגירסה 7.3. למרות שהוא לא יכול להתחרות עם מנועי חיפוש כמו אלסטיק חיפוש או לוסין, הוא עדיין מספק פתרון גמיש וחזק שעשוי להספיק לעמדת המשתמשים של היישומים – תכונות…