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

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

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

设置 Hibernate

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


  
  
    com.google.cloud
    google-cloud-spanner-jdbc
  

  
  
    org.hibernate.orm
    hibernate-core
    6.4.4.Final
  

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


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

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

将 Hibernate 与 Spanner GoogleSQL 搭配使用

如需详细了解 Hibernate 的相关功能和建议,请参阅 GitHub 上的参考文档。

后续步骤