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 トラストストアに追加するか、アプリケーションの実行時に
直接渡します。