Hibernate ORM は、Java プログラミング言語用のオブジェクト リレーショナル マッピング(ORM)ツールです。オブジェクト指向のドメインモデルをリレーショナル データベースにマッピングするためのフレームワークが提供されています。オープンソースの Spanner 言語(SpannerDialect)を使用して、GoogleSQL 言語データベースを Hibernate と統合できます。
このドキュメントでは、Spanner Omni に接続するように Hibernate を構成する方法について説明します。Hibernate は、Spanner と統合するのと同じ方法で Spanner Omni と統合されます。Spanner は Hibernate ORM 6.x に対応しています。Spanner 言語は、標準の Hibernate アノテーションと Java Persistence アノテーションを使用して、一般的なエンティティのタイプと関係性に対して SQL、DML、DDL ステートメントを生成します。
Hibernate を Spanner Omni で使用すると、既存の Hibernate の経験を活かしてデータベースを操作できます。詳細については、Spanner ドキュメントの Spanner を Hibernate ORM(Spanner 言語)と統合するをご覧ください。
前提条件
Spanner Omni で Hibernate を使用するには、プロジェクトに次の Maven 依存関係を含めます。
Spanner Hibernate Dialect:
pom.xmlファイルに次を追加します。バージョン 4.3.0 以降を使用します。<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-spanner-hibernate-dialect</artifactId> <version>4.3.0</version> </dependency>Spanner JDBC ドライバ:
pom.xmlファイルに次の内容を追加します。バージョン 2.41.0 以降を使用します。<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-spanner-jdbc</artifactId> <version>2.41.0</version> </dependency>
Hibernate を構成する
標準の Hibernate 言語の規則を使用して、hibernate.properties ファイルで SpannerDialect と Spanner ドライバクラスを構成します。
hibernate.dialect=com.google.cloud.spanner.hibernate.SpannerDialect
hibernate.connection.driver_class=com.google.cloud.spanner.jdbc.JdbcDriver
hibernate.connection.url=jdbc:spanner://ENDPOINT/databases/DATABASE_ID?type=omni
次のように置き換えます。
ENDPOINT: Spanner Omni インスタンスのエンドポイント(例:localhost:15000)。DATABASE_ID: Spanner Omni データベースの ID(例:test-db)。
セキュリティ構成を使用して Spanner Omni 接続を確立するように hibernate.connection.url を更新します。詳細については、Spanner Omni 接続を確立するをご覧ください。暗号化された接続タイプ(TLS、TLS(認証情報付き)、mTLS)の場合は、CA 証明書を Java トラストストアに追加します。詳細については、Java トラストストアを構成するをご覧ください。