Mengintegrasikan Spanner dengan Hibernate ORM (dialek GoogleSQL)

Hibernate adalah alat pemetaan relasional objek untuk bahasa pemrograman Java. Framework ini menyediakan framework untuk memetakan model domain berorientasi objek ke database relasional.

Anda dapat mengintegrasikan database berdialek GoogleSQL dengan Hibernate menggunakan Spanner Dialect (SpannerDialect) open source. Spanner kompatibel dengan Hibernate ORM 6.x. Dialek Spanner menghasilkan pernyataan SQL, DML, dan DDL untuk sebagian besar jenis dan hubungan entitas umum menggunakan anotasi Hibernate dan Java Persistence standar.

Menyiapkan Hibernate

Di project Anda, tambahkan dependensi Apache Maven untuk inti Hibernate ORM, Spanner Dialect, dan driver JDBC Open Source yang didukung secara resmi oleh Spanner.

<dependencies>
  <!-- The Spanner JDBC driver dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-jdbc</artifactId>
  </dependency>

  <!-- Hibernate core dependency -->
  <dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.4.4.Final</version>
  </dependency>
</dependencies>

Konfigurasi hibernate.cfg.xml untuk menggunakan Dialek Spanner dan Driver JDBC Spanner.

<!-- Connection settings -->
<property name="hibernate.dialect">org.hibernate.dialect.SpannerDialect</property>
<property name="hibernate.connection.driver_class">com.google.cloud.spanner.jdbc.JdbcDriver</property>
<property name="hibernate.connection.url">jdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}</property>

Lokasi file kredensial JSON akun layanan harus ada di variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS. Driver akan menggunakan kredensial default yang ditetapkan di aplikasi gcloud Google Cloud CLI.

Menggunakan Hibernate dengan Spanner GoogleSQL

Untuk mengetahui informasi selengkapnya tentang fitur dan rekomendasi untuk Hibernate, lihat dokumentasi referensi di GitHub.

Langkah berikutnya