Spring Data JPA ist Teil der größeren Spring Data-Familie, auf JPA basierende Repositories zu implementieren. Spring Data – JPA unterstützt Spanner und einer Vielzahl anderer Datenbanksysteme. Es fügt eine Abstraktionsebene zwischen Ihre Anwendung und Ihre Datenbank, um die Portierung Ihrer Anwendung zu erleichtern. von einem Datenbanksystem in ein anderes zu übertragen.
Spring Data JPA für Spanner-Datenbanken mit GoogleSQL-Dialekt einrichten
Sie können Spanner-Datenbanken mit GoogleSQL-Dialekt mithilfe der
Open-Source-Spanner Hibernate-Dialekt
(SpannerDialect
).
Ein Beispiel finden Sie in der vollständigen funktionierende Beispielanwendung auf GitHub
Abhängigkeiten
Fügen Sie in Ihrem Projekt Apache Maven-Abhängigkeiten für Spring Data JPA hinzu. Spanner Hibernate-Dialekt, und dem von Spanner offiziell unterstützten Open-Source-JDBC-Treiber.
<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>
Konfiguration
application.properties
für die Verwendung des Spanner-Hibernate konfigurieren
Dialekt und der JDBC-Treiber von 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
Vollständige Beispielanwendung
Eine funktionierende Beispielanwendung ist die auf GitHub verfügbar sind.
Nächste Schritte
- Weitere Informationen zu Spring Data JPA.
- Hibernate ORM
- Repository anzeigen für Spanner-Dialekt auf GitHub.
- GitHub-Problem melden, um einen Fehler zu melden oder eine Frage zu stellen über Hibernate.
- Binden Sie Spanner in Spring Data JPA (PostgreSQL-Dialekt) ein.