Spring Data JPA, yang merupakan bagian dari keluarga Spring Data yang lebih besar, mempermudah penerapan repositori berbasis JPA. Spring Data JPA mendukung Spanner dan berbagai sistem database lainnya. Library ini menambahkan lapisan abstraksi antara aplikasi dan database Anda yang membuat aplikasi Anda lebih mudah di-porting dari satu sistem database ke sistem database lainnya.
Menyiapkan Spring Data JPA untuk database dialek GoogleSQL Spanner
Anda dapat mengintegrasikan database berdialek GoogleSQL Spanner dengan
Spring Data JPA menggunakan Spanner
Hibernate Dialect (SpannerDialect) open source.
Untuk melihat contoh, lihat aplikasi contoh yang berfungsi lengkap di GitHub.
Dependensi
Di project Anda, tambahkan dependensi Apache Maven untuk Spring Data JPA, Spanner Hibernate Dialect, dan driver JDBC Open Source yang didukung secara resmi oleh 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
Konfigurasi application.properties untuk menggunakan Dialek Hibernate Spanner dan Driver JDBC Spanner.
# Spanner connection URL.
# - ${PROJECT_ID} Replace with your Google Cloud 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 berikutnya
- Pelajari lebih lanjut Spring Data JPA.
- Pelajari Hibernate ORM lebih lanjut.
- Lihat repositori untuk Spanner Dialect di GitHub.
- Buatlah laporan masalah GitHub untuk melaporkan bug atau mengajukan pertanyaan tentang Hibernate.
- Mengintegrasikan Spanner dengan Spring Data JPA (dialek PostgreSQL).