将 Hibernate ORM 与 Cloud Spanner 搭配使用

您可以通过开源 Cloud Spanner Dialect (SpannerDialect) 将 Hibernate ORM 与 Cloud Spanner 搭配使用。Cloud Spanner Dialect 与 Google Cloud Spanner Hibernate ORM 5.4 兼容。Cloud Spanner Dialect 使用标准 Hibernate 和 Java Persistence 注释为大多数常见实体类型和关系生成 SQL、DML 和 DDL 语句。

设置将 Hibernate ORM 与 Cloud Spanner 搭配使用

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

<dependencies>
  <!-- The Hibernate dialect for Spanner dependency -->
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-spanner-hibernate-dialect</artifactId>
    <version>1.2.0</version>
  </dependency>

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

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

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

<!-- Connection settings -->
<property name="hibernate.dialect">com.google.cloud.spanner.hibernate.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 SDK gcloud 应用中设置的默认凭据。

将 Hibernate ORM 与 Cloud Spanner 搭配使用

如需详细了解 Hibernate ORM 与 Cloud Spanner 搭配使用的功能和建议,请参阅 GitHub 上的参考文档

后续步骤