Hibernate を使用して Spanner Omni に接続する

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 トラストストアを構成するをご覧ください。