使用 Hibernate 连接到 Spanner Omni

Hibernate ORM 是适用于 Java 编程语言的对象关系映射 (ORM) 工具。它提供了一个框架,用于将面向对象的网域模型映射到关系型数据库。您可以使用开源 Spanner 方言 (SpannerDialect) 将 GoogleSQL 方言数据库与 Hibernate 集成。

本文档介绍了如何配置 Hibernate 以连接到 Spanner Omni。Hibernate 与 Spanner Omni 的集成方式与它与 Spanner 的集成方式相同。Spanner 与 Hibernate ORM 6.x 兼容。Spanner 方言使用标准 Hibernate 和 Java Persistence 注解为大多数常见实体类型和关系生成 SQL、DML 和 DDL 语句。

将 Hibernate 与 Spanner Omni 搭配使用,可让您利用现有的 Hibernate 经验与数据库进行交互。如需了解详情,请参阅 Spanner 文档中的将 Spanner 与 Hibernate ORM 集成(Spanner 方言)

前提条件

如需将 Hibernate 与 Spanner Omni 搭配使用,请在项目中添加以下 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 连接。 对于安全模式,请将 CA 证书添加到 Java 信任库,或在运行应用时直接传递该证书,如 Java SDK TLS 说明中所述。