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

Hibernate ORM は、Java プログラミング言語用のオブジェクト リレーショナル マッピング (ORM) ツールです。オブジェクト指向のドメインモデルをリレーショナル データベースにマッピングするためのフレームワークが提供されています。オープンソースの Spanner 言語SpannerDialect)を使用して、GoogleSQL 言語データベースを Hibernate と統合できます。

このドキュメントでは、Hibernate を構成して Spanner Omni に接続する方法について説明します。Hibernate は、Spanner と統合する場合と同じ方法で Spanner Omni と統合されます。Spanner は Hibernate ORM 6.x と互換性があります。Spanner 言語は、標準の Hibernate アノテーションと Java Persistence アノテーションを使用して、一般的なエンティティのタイプと関係性に対して SQL、DML、DDL ステートメントを生成します。

Spanner Omni で Hibernate を使用すると、既存の Hibernate の経験を活かしてデータベースを操作できます。詳細については、Spanner ドキュメントの Spanner を Hibernate ORM と統合する(Spanner 言語) をご覧ください。

前提条件

Spanner Omni で Hibernate を使用するには、プロジェクトに次の Maven 依存関係を含めます。

  • Spanner Hibernate 言語: pom.xml ファイルに以下を追加します。バージョン 4.2.1 以降を使用します。

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
      <version>4.2.1</version>
    </dependency>
    
  • Spanner JDBC ドライバ: pom.xml ファイルに以下を追加します。バージョン 2.35.0 以降を使用します。

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>google-cloud-spanner-jdbc</artifactId>
      <version>2.35.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?isExperimentalHost=true

Spanner Omni インスタンスが使用する特定の接続プロトコル(平文、TLS、mTLS)の hibernate.connection.url を更新します。 詳細については、 Spanner Omni 接続を確立するをご覧ください。 安全なモードの場合は、Java SDK TLS の手順の説明に従って、CA 証明書を Java トラストストアに追加するか、アプリケーションの実行時に 直接渡します。