Hibernate adalah alat pemetaan relasional objek untuk bahasa pemrograman Java. Framework ini menyediakan pemetaan model domain berorientasi objek ke database relasional.
Anda dapat mengintegrasikan database dialek GoogleSQL dengan Hibernate. Spanner kompatibel dengan Hibernate ORM 6.x dan 7.x. Dialek bawaan dan dialek open source menghasilkan pernyataan SQL, DML, dan DDL untuk sebagian besar jenis dan hubungan entitas umum menggunakan anotasi Hibernate dan Java Persistence standar.
Menggunakan integrasi Hibernate bawaan (Hibernate ORM 7.4+)
Mulai dari Hibernate ORM 7.4, Hibernate menyertakan dialek bawaan untuk
Spanner (org.hibernate.dialect.SpannerDialect).
Sebaiknya project baru menggunakan dialek bawaan ini, karena tidak memerlukan
penambahan dependensi google-cloud-spanner-hibernate-dialect eksternal.
Dialek bawaan tidak memiliki beberapa fitur dan pengoptimalan yang tersedia di dialek Spanner open source.
Untuk menggunakan dialek bawaan, tambahkan dependensi Maven untuk inti Hibernate ORM dan driver JDBC Spanner ke file pom.xml project Anda.
Untuk menemukan versi terbaru dependensi ini, lihat rilis Hibernate ORM dan rilis driver JDBC Spanner:
<dependencies>
<!-- Hibernate ORM Core -->
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>7.4.0.Final</version>
</dependency>
<!-- Cloud Spanner JDBC Driver -->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-jdbc</artifactId>
<version>2.40.0</version>
</dependency>
</dependencies>
Konfigurasi file hibernate.properties project Anda (biasanya terletak di direktori src/main/resources) untuk menggunakan Dialek Spanner bawaan:
hibernate.dialect=org.hibernate.dialect.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:cloudspanner:/projects/YOUR-PROJECT/instances/YOUR-INSTANCE/databases/YOUR-DATABASE
Untuk mengautentikasi dengan Spanner, driver JDBC memerlukan kredensial. Tetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ke jalur file kredensial JSON akun layanan Anda. Jika tidak, driver akan menggunakan kredensial default yang ditetapkan di aplikasi gcloud Google Cloud CLI.
Menggunakan dialek Spanner open source
Untuk project yang menggunakan Hibernate versi sebelumnya (6.x atau 7.x sebelum 7.4), atau jika Anda memerlukan fitur dan pengoptimalan yang belum didukung oleh dialek bawaan, Anda dapat menggunakan Spanner Dialect open source.
Untuk menggunakan dialek open source, tambahkan dependensi Maven ke file pom.xml project Anda:
Konfigurasi file hibernate.properties project Anda untuk menggunakan Spanner Dialect dan Driver JDBC open source:
hibernate.dialect=com.google.cloud.spanner.hibernate.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:cloudspanner:/projects/YOUR-PROJECT/instances/YOUR-INSTANCE/databases/YOUR-DATABASE
Untuk mengetahui informasi selengkapnya tentang fitur dan rekomendasi untuk Hibernate saat menggunakan dialek ini, lihat dokumentasi referensi di GitHub.
Langkah berikutnya
- Lihat contoh kode menggunakan Hibernate dengan Spanner.
- Coba codelab Spanner dengan Hibernate ORM.
- Pelajari Hibernate ORM lebih lanjut.
- Lihat repositori untuk Spanner Dialect di GitHub.
- Buatlah laporan masalah GitHub untuk melaporkan bug atau mengajukan pertanyaan tentang Hibernate.
- Pelajari lebih lanjut Apache Maven.
- Pelajari lebih lanjut cara Mengintegrasikan Spanner dengan Hibernate ORM (dialek PostgreSQL).