Spring Data JPA は、より大きな Spring Data ファミリーの一部であり、JPA ベースのリポジトリを簡単に実装できます。Spring Data JPA は、Spanner やその他の幅広いデータベース システムをサポートしています。アプリケーションとデータベースの間に抽象化レイヤが追加され、アプリケーションがデータベース間で簡単に移行できるようになります。
Spanner の GoogleSQL 言語データベースに Spring Data JPA を設定する
オープンソースの Spanner Hibernate 言語(SpannerDialect)を使用して、Spanner GoogleSQL 言語データベースを Spring Data JPA と統合できます。
例を見たい場合は、GitHub 上にある完全に動作するサンプル アプリケーションを参照してください。
依存関係
プロジェクトで、Spring Data JPA、Spanner Hibernate 言語、Spanner で公式にサポートされているオープンソース JDBC ドライバの Apache Maven 依存関係を追加します。
<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>
構成
Spanner Hibernate 言語と Spanner JDBC ドライバを使用するように application.properties を構成します。
# 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
完全なサンプル アプリケーション
動作するサンプル アプリケーションは GitHub で入手できます。
次のステップ
- Spring Data JPA について確認する。
- Hibernate ORM について確認する。
- GitHub で Spanner 言語のリポジトリを参照する。
- GitHub の問題を提出してバグを報告するか、Hibernate について質問する。
- Spanner を Spring Data JPA(PostgreSQL 言語)と統合する。