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

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

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

设置 Hibernate

在项目中,为 Hibernate ORM Core 添加 Apache Maven 依赖项, Spanner 方言, 以及官方支持的 开源 JDBC 驱动程序

<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 方言和 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,请参阅 参考文档

后续步骤