将 Spanner 与 Hibernate ORM(GoogleSQL 方言)集成

Hibernate 是 Java 编程语言的对象关系映射工具。 它提供了一个框架,用于将面向对象的领域模型映射到关系型数据库。

您可以使用开源 Spanner Dialect (SpannerDialect) 将 GoogleSQL 方言数据库与 Hibernate 集成。Spanner 与 Hibernate ORM 6.x 兼容。Spanner Dialect 使用标准 Hibernate 和 Java Persistence 注解为大多数常见实体类型和关系生成 SQL、DML 和 DDL 语句。

设置 Hibernate

在项目中,为 Hibernate ORM 核心、Spanner Dialect 和 Spanner 官方支持的 Open Source JDBC 驱动程序添加 Apache Maven 依赖项。

<dependencies>
  <!-- The Spanner JDBC driver dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-jdbc</artifactId>
  </dependency>

  <!-- Hibernate core dependency -->
  <dependency>
    <groupId>org.hibernate.orm</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>6.4.4.Final</version>
  </dependency>
</dependencies>

配置 hibernate.cfg.xml 以使用 Spanner Dialect 和 Spanner JDBC 驱动程序。

<!-- Connection settings -->
<property name="hibernate.dialect">org.hibernate.dialect.SpannerDialect</property>
<property name="hibernate.connection.driver_class">com.google.cloud.spanner.jdbc.JdbcDriver</property>
<property name="hibernate.connection.url">jdbc:cloudspanner:/projects/{YOUR_PROJECT_ID}/instances/{YOUR_INSTANCE_ID}/databases/{YOUR_DATABASE_ID}</property>

服务账号 JSON 凭据文件位置应位于 GOOGLE_APPLICATION_CREDENTIALS 环境变量中。否则,该驱动程序将使用在 Google Cloud CLI gcloud 应用中设置的默认凭据。

将 Hibernate 与 Spanner GoogleSQL 搭配使用

如需详细了解 Hibernate,请参阅 参考文档

后续步骤