שימוש ב-Hibernate כדי להתחבר ל-Spanner Omni

Hibernate ORM הוא כלי למיפוי יחסי בין אובייקטים (ORM) לשפת התכנות Java. הוא מספק מסגרת למיפוי מודל דומיין מונחה-עצמים למסד נתונים רלציוני. אפשר לשלב מסדי נתונים של ניב GoogleSQL עם Hibernate באמצעות ניב Spanner (SpannerDialect) בקוד פתוח.

במאמר הזה מוסבר איך להגדיר את Hibernate כדי להתחבר ל-Spanner Omni. ‫Hibernate משולב עם Spanner Omni באותו אופן שבו הוא משולב עם Spanner. ‫Spanner תואם ל-Hibernate ORM 6.x. ניב Spanner יוצר הצהרות SQL,‏ DML ו-DDL עבור רוב סוגי הישויות והקשרים הנפוצים באמצעות הערות סטנדרטיות של Hibernate ו-Java Persistence.

שימוש ב-Hibernate עם Spanner Omni מאפשר לכם להשתמש בניסיון הקיים שלכם עם Hibernate כדי ליצור אינטראקציה עם מסדי הנתונים שלכם. מידע נוסף מופיע במאמר שילוב של Spanner עם Hibernate ORM (ניב Spanner) במאמרי העזרה של Spanner.

דרישות מוקדמות

כדי להשתמש ב-Hibernate עם Spanner Omni, צריך לכלול את התלויות הבאות של Maven בפרויקט:

  • Spanner Hibernate dialect: מוסיפים את הטקסט הבא לקובץ pom.xml. להשתמש בגרסה 4.2.1 ואילך.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
      <version>4.2.1</version>
    </dependency>
    
  • Spanner JDBC driver: מוסיפים את השורות הבאות לקובץ pom.xml. משתמשים בגרסה 2.35.0 ואילך.

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-jdbc</artifactId>
      <version>2.35.0</version>
    </dependency>
    

הגדרת מצב תנומה

מגדירים את המחלקה של מנהל ההתקן SpannerDialect ואת Spanner בקובץ hibernate.properties באמצעות מוסכמות סטנדרטיות של ניב Hibernate:

hibernate.dialect=com.google.cloud.spanner.hibernate.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:spanner://ENDPOINT/databases/DATABASE_ID?isExperimentalHost=true

מעדכנים את hibernate.connection.url עבור פרוטוקול החיבור הספציפי (טקסט רגיל, TLS או mTLS) שבו נעשה שימוש במופע Spanner Omni. מידע נוסף זמין במאמר איך יוצרים חיבור Spanner Omni. במצבים מאובטחים, צריך להוסיף את אישור ה-CA למאגר האישורים המהימנים של Java או להעביר אותו ישירות כשמריצים את האפליקציה, כמו שמתואר בהוראות ה-TLS של Java SDK.