Spring Data JPA, bagian dari keluarga Spring Data yang lebih besar, mempermudah implementasi repositori berbasis JPA. Spring Data JPA mendukung Spanner dan berbagai sistem database lainnya. Library ini menambahkan lapisan abstraksi antara aplikasi dan database sehingga memudahkan aplikasi Anda untuk 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
Spanner Hibernate Dialect
(SpannerDialect
) open source.
Untuk melihat contohnya, 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 secara resmi Spanner.
<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 Spanner Hibernate
Dialect 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
Contoh Aplikasi 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.
- Integrasikan Spanner dengan Spring Data JPA (dialek PostgreSQL).