Spring Data JPA, bagian dari keluarga Spring Data yang lebih besar, memudahkan implementasi repositori berbasis JPA. Spring Data JPA mendukung Spanner dan berbagai sistem database lainnya. Library ini menambahkan lapisan abstraksi antara aplikasi dan database yang membuat aplikasi Anda lebih mudah di-port dari satu sistem database ke sistem database lainnya.
Menyiapkan Spring Data JPA untuk database dialek GoogleSQL Spanner
Anda dapat mengintegrasikan database dialek GoogleSQL Spanner dengan Spring Data JPA menggunakan Dialek Hibernate Spanner open source (SpannerDialect
).
Untuk melihat contoh, lihat aplikasi contoh yang berfungsi lengkap di GitHub.
Dependensi
Dalam project Anda, tambahkan dependensi Apache Maven untuk Spring Data JPA, Spanner Hibernate Dialect, dan driver JDBC Open Source yang didukung Spanner secara resmi.
<dependencies>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Hibernate Dialect and JDBC Driver dependencies-->
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-jdbc</artifactId>
</dependency>
</dependencies>
Konfigurasi
Konfigurasikan application.properties
untuk menggunakan Dialect Hibernate
Spanner dan Driver JDBC Spanner.
# Spanner connection URL.
# - ${PROJECT_ID} Replace with your GCP project ID
# - ${INSTANCE_ID} Replace with your Spanner instance ID
# - ${DATABASE_NAME} Replace with the name of your Spanner database that you created inside your Spanner instance
spring.datasource.url=jdbc:cloudspanner:/projects/${PROJECT_ID}/instances/${INSTANCE_ID}/databases/${DATABASE_NAME}
# Specify the Spanner JDBC driver.
spring.datasource.driver-class-name=com.google.cloud.spanner.jdbc.JdbcDriver
# Specify the Spanner Hibernate dialect.
spring.jpa.properties.hibernate.dialect=com.google.cloud.spanner.hibernate.SpannerDialect
spring.jpa.hibernate.ddl-auto=update
# Settings to enable batching statements for efficiency
spring.jpa.properties.hibernate.jdbc.batch_size=100
spring.jpa.properties.hibernate.order_inserts=true
# You can display SQL statements and stats for debugging if needed.
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
Aplikasi Contoh Lengkap
Aplikasi contoh yang berfungsi tersedia di GitHub.
Langkah selanjutnya
- Pelajari Spring Data JPA lebih lanjut.
- Pelajari Hibernate ORM lebih lanjut.
- Lihat repositori untuk Dialek Spanner di GitHub.
- Laporkan masalah GitHub untuk melaporkan bug atau mengajukan pertanyaan tentang Hibernate.
- Mengintegrasikan Spanner dengan Spring Data JPA (dialek PostgreSQL).